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




  

相关话题

  数学/算法:正方形内有5个点,为什么最近点对的距离小于边长? 
  2022年学C++开发好比49年入国军,没什么公司在用C++了? 
  为什么 PDF 能保证排版一致性,但通常 Word 文档不能做到? 
  在测试驱动开发中 如果测试写错了导致单元测试过不了怎么办?如何保证测试的正确性呢? 
  我听说以前的系统没有图形界面,那他们是用 C# 等语言直接敲代码吗? 
  为什么很多大牛在写题的时候要加一堆宏? 
  GitHub 或者其他的开源平台中是否有一些适合初学者的 C++ 项目? 
  可不可以用文言文再创造一种编程语言? 
  win7笔记本,外接扩展显示器,如何在不缩小外接显示器像素的同时去除外接显示器的桌面背景黑边? 
  为什么C语言能长盛不衰? 

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





© 2024-06-23 - tinynew.org. All Rights Reserved.
© 2024-06-23 - tinynew.org. 保留所有权利