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




  

相关话题

  如何看待没有学历的程序员? 
  为什么会有人到处宣传C#易用,同时说java直接抄就能写程序,然而自己一直写C++? 
  你收藏了哪些实用的「 工具类 」网站? 
  有什么行为习惯昭示着你是个编程大佬? 
  你认为程序员的最高境界是什么? 
  为什么会有人到处宣传C#易用,同时说java直接抄就能写程序,然而自己一直写C++? 
  即将毕业,从事C++开发,笔记本推荐? 
  全世界有上千种编程语言,为什么程序员都只学习那几个主流语言? 
  Python 语言的强制缩进是败笔吗? 
  开始慢慢抄代码敲对自己编程提高有用吗? 

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





© 2024-12-25 - tinynew.org. All Rights Reserved.
© 2024-12-25 - tinynew.org. 保留所有权利