百科问答小站 logo
百科问答小站 font logo



ASP.Net如何发布便于安装的带Excel功能的网站? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

这是一个常见的问题,但实际上是因为网上基本就没有几个人真正愿意去研究一下,所以能搜到的解决方案不是馊的就是各种代码一大抄。

简单来说这个问题可以有两大类解决方案:

第一类方案是利用OleDbProvider把Excel文件当做数据库来操作。

个人推荐使用这个解决方案,对于导出简单的Excel文件是非常简便的。你只需要:

1、创建一个只包含表头的Excel文件作为模板

2、在服务器上安装这个东西:

Microsoft Access 2010 数据库引擎可再发行程序包

是的,只需要这个东西,根本不需要装一个Office。

3、把你的模板复制一份到临时目录,准备写数据。

4、根据你安装的引擎配置好Excel的连接字符串,参考这里:

connectionstrings.com/a

5、打开连接,直接把数据写入到Excel文件

6、把写好数据的Excel文件提供下载。


第二类方案即从无到有的创建一个Excel文件出来,可以分为几种:

1、利用Excel的COM组件或者Excel自动化脚本等技术创建。

极其不推荐这个方案,因为这个做法需要在服务器上安装Excel。

2、NPOI

不推荐用这个工具,因为这个工具创建出来的也不是标准的Excel文档,而且代码之烂令人发指。

3、HTML

直接用HTML格式创建Excel文档,然后保存扩展名为xlsx,下载打开的时候,Excel会自动完成格式的转换。

4、csv

缺点是几乎没有任何格式控制选项。

5、MHT

如果需要在Excel文件中嵌入图片或者其他资源,则MHT是一个不错的选择,MHT本质上就是 HTML文件和资源的打包,所以下载后同样需要Excel打开完成文档格式转换。




  

相关话题

  为什么存在着size_t, LPCSTR, wchar_t等别名? 
  目前中国程序员和美国程序员的差距在哪里? 
  关于后端程序员写前端用什么框架更好? 
  如何优雅地将程序设计语言的名字翻译成汉语? 
  有哪些老程序员都知道对新手很有用的经验? 
  如何看待代码中的中文变量名? 
  为什么写程序的时候可以坚持很久,但是学习数学就很难保持注意力? 
  什么时候用Model,什么时候用Entity? 
  靠写代码能买得起一辆奥迪A8吗(中国)? 
  在未来,编程会不会像现在的写字一样成为普通人的必备技能? 

前一个讨论
vs2013 有必要 使用 visual assist或resharper吗?
下一个讨论
能否设计出不会导致近视的显示屏?





© 2025-04-04 - tinynew.org. All Rights Reserved.
© 2025-04-04 - tinynew.org. 保留所有权利