百科问答小站 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打开完成文档格式转换。




  

相关话题

  为什么不少程序员极度推崇 Vim 和 Emacs,却对 IDE 嗤之以鼻? 
  域名可以同时解析到两个不同的主机上吗? 
  .NET 下的性能问题如何定位? 
  c语言中,关于switch循环的这个疑问怎么解? 
  在技术上强到什么程度,才会成为年薪百万的技术型大牛? 
  有什么编程的好习惯建议吗? 
  为什么程序员的工资比其他行业高这么多? 
  为什么很多程序员不用switch,而是大量的if……else if? 
  程序员如何提高安全的编码能力? 
  为什么要开源? 

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





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