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




  

相关话题

  Qt 为什么在桌面应用(Windows 平台)中不流行呢? 
  如何看待国内地图行业更新政策商用api每年需支付5w元? 
  Python 中有什么不容易让人察觉的有趣的事实? 
  怎样成为全栈工程师(Full Stack Developer)? 
  为什么汇编mov指令不能用lock前缀? 
  .NET 会翻身吗? 
  为什么 PDF 能保证排版一致性,但通常 Word 文档不能做到? 
  为什么要有指针? 
  asp.net mvc怎么设置友好的404页面? 
  asp.net MVC 和Web Form 相比各有什么优缺点? 

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





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利