ASP.NET Excel导出(动态生成)解决方案
ASP.NET Excel导出(动态生成)解决方案
(一)、服务器端的excel组件来生成目标Excel
即在后台调用excel组件,来读取模板,填写模板的。就是后台启动Excel来处理的,在进程管理器里可以查看到它的进程。
优点:Excel处理功能丰富,多样,可以完成一切的Excel文件处理。
缺点:服务器端要装Excel软件,处理效率低,容易产生进程无法回收,服务器容易崩溃。
(二)、利用MSOWC组件,即微软的
office web component
优点:服务器无需安装office软件,功能强大,简单易用。
缺点:不能直接读取excel,excel转化xml后读取流造成一些个性化效果丢失;客户端要安装owc,可能涉及版权的问题;读写速度很慢。
(三)、开源组件
MyXls
优点:不依赖Microsoft组件,在内存中操作excel,读写速度快。
缺点:无法读取模板,只能生成新的excel,格式不好控制。
(四)、操作Excel的导出XML文件
XML中添加新行元素,更新行数信息和验证信息
优点:读取模板,通过文件流读写XML,速度最快。
缺点:转化为XML可能丢失一些个性效果;只适合有新行插入的工作簿,对没有新行插入,仅仅填写单元格的工作簿支持不好。
(五)、ado.net
缺点: 容易出错,而且操作也不灵活,插入等经常遇到问题,而且不能删除行。比较适用于结构单一的Excel表。
相关文档:
ASP.NET Excel导入到SQL Server数据库
提供把Excel里的数据导入到SQL Server 数据库,前提是Excel里的字段在Sql Server表里都有,不然会出现错误。注释很详细哦!要引用的命名空间是:
using System.Data.OleDb;
using System.Data.SqlClient;
//操作类
public class ExcelToSQL
{
& ......
首先需要在项目中添加(Microsoft XML, v3.0)的引用
using MSXML2;
private string VerifyNotifyURL(string URL)
{
MSXML2.XMLHTTPClass xmlhttp=new MSXML2.XMLHTTPClass();
try
{
&nbs ......
ASP.NET
MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在
ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET
MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的 ......