在前一篇文章
中,介绍了DataSet导出到Excel时客户端生成文件的几种思路,接着往下说,服务器端生成文件,用户直接下载,应该格式是可以保证的!
于是直接调用Excel的API生成。代码如下:
说明下,其中的
xlsApp.Application.DisplayAlerts = false; 的作用是
不显示确认对话框
也可以逐Cell读取,那样可能会慢。本方法速度还过得去。
生成Winform代码测试没错,部署时,以为只要引用两个dll就可以了
Microsoft.Office.Interop.Excel.dll
Office.dll
那成想,问题接着来了,当在WebForm下调用时, 提示
“检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a
”
晕! Google下,解决方案是在服务器上安装Office,并配置DCOM权限。步骤如下:
折腾了一番,总算可以用了!·只是服务器上装Office总感觉不爽,于是再尝试下别的方法:
主要的类文件如下:
思路:通过读出Excel模板文件到DataTale,再把数据填充到DataTable,文件另存下就OK了!
调用代码如下:
这里有点强调下:OleDbConnection特别要注意, 刚开始用http://www.connectionstrings.com/excel
提供的标准串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:"MyExcel.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";
结果提示:“操作必须使用一个可更新的查询”。因为读取结果正常,以为是excel没有写权限所致,增加了相应权限后,结果依然如故。这下火了! Google下, 有解决方案
http://www.cnblogs.com/richinger/archive/2008/09/28/1301170.html
A: HDR ( HeaDer Row )设置
若指定值为Yes,代表 Excel 档中的工作表第一行是栏位名称
若指定值為 No,代表 Excel 档中的工作表第一行就是資料了,沒有栏位名称
B:IMEX ( IMport EXport mode )设置
IMEX 有三种模式,各自引起的读写行为也不同,容後再述:
0 is Export mode
1 is Import mode
2 is Linked mode (full update capabilities)
于是修改为:
附上代码中用到的两个方法:
分享到:
相关推荐
将Dataset导出到Excel,本程序阐述基本功能-Dataset exported to Excel, the program described the basic functions of
DataSet导出到Office 2007 Excel 支持服务器端杀死excel.exe进程
DataSet 或 DataTable 导出到 Excel
C# 源码 EXCEL导入到Dataset,Dataset导出到Excel
解决.net DataSet导出excel问题
方便好用的类模板,传入dataset 就可以生成EXCEL。 要添加引用Microsoft.Office.Interop.Excel.dll
从dataset数据源导出到Excel,根据datatable生成对应sheet
.net(dataset)输出流导出excel(无需生成模版excel文件,直接输出数据流导出excel表格)
C#DataSet导出EXCEL的方法 代码分析 可以参考,个人搜索
导入导出EXCEL的源代码.[导出带线的Excel,导入DataSet] 只需要将该包Comm添加到项目,调用其对应的导入\导出类中的方法使用.[导入导出源代码]
从数据库中获取数据显示在Datagridview中,然后将数据导入到excel或从Dataset直接将数据导出到excel
C#导出DataSet到EXCEL,CSV
ASP.NET用DataSet导出到Excel的方法,需要的朋友可以参考一下
本文实例为大家分享了Winform实现导入导出Excel文件的具体代码,供大家参考,具体内容如下 /// /// 导出Excel文件 /// /// /// <param name=dataSet> /// 数据集 /// 导出后是否打开文件 /// <returns></...
本 资源 为 dataset 生成 多张表的excel 文件 点击导出数据 会在 客户端提示用户保存或者下载. 资源里有使用说明 .
查出数据,导出到Excel
功能描述: 1、选择当前路径下的所有xls文件(xls文件必须是统一格式);...3、从Dataset导出到Excel表格 注:此代码运行是需有office组建作为支持,即运行该程序的电脑上必须安装office软件;程序由VS2012开发。
c# DataTable,DataSet导出到xls,access文件 不需要有预置xls文件模板,如果没有该文件,自动创建
C#将DataSet导入到excel中(包括图片),包含服务器配置文件,暂不支持wps图片浏览
背景:今天要把DataSet导入Excel,查询以前的贴子,一部分用Ole,速度太慢, 一部分用ADO连接到Excel文件,也很慢,一气之下把DBGrigEh的导出部分改了出来, 欢迎大家指教、改进。 功能:将数据集的数据...