日期:2014-05-16  浏览次数:20893 次

ASP和与excel相关组件的进
本帖最后由 eryuemanman 于 2013-06-13 19:45:03 编辑
各位大大好:知道论坛高手如云,小弟菜鸟,初学ASP,好多不懂请多指教啊?最近碰到一个棘手的问题,导致我接下来的工作一直某有进展,表示苦恼、纠结,就是在用ASP创建excel.application组件的时候,一直创建失败。小弟在咱们的论坛里找了好多高手之前提供的方法,但是还是某有解决,实在无奈,望高手指教啊,谢谢
ASP Excel access 组件

------解决方案--------------------
excel.application 的组件模型并不适合在asp里使用。
可以考虑的方法:
1 在客户端用 WebOffice之类的组件在客户端操作excel, asp只负责传递数据和保存文件
2 如果用的是高版本的sql server,只需要导出数据的话,可以用openrowset之类的函数导出excel
3 用sa officewriter之类的,适合asp的组件
其他,考虑写服务或消息队列,用专门的程序处理Excel
------解决方案--------------------
excel.application能在asp里用,并不代表适合于生产环境里使用,这是组件最初设计的特性决定的。
如果只是实验性质的,那用excel.application也行,一般问题都出在权限。 IIS内把此asp的执行帐号设置为Administrator的帐号。
WebOffice是在IE里执行的ActiveX组件,需要在客户端有Office, 作用相当于在客户端调用excel.application(如果直接在客户端调用excel.application也是有权限问题的。)
有专门的第三方组件是为操作excel设计的,用它就可以避免excel.application的问题。

------解决方案--------------------
EXCEL读取与写入数据的最佳方案(个人认为)
分类: asp技巧 2013-03-13 12:53 44人阅读 评论(0) 收藏 编辑 删除
EXCEL读取与写入数据的最佳方案(个人认为)
在以往使用Excel文件时,我一般认为是使用COM组件进行EXCEL文档的操作,这样写程序即费时又费力(因为EXCEL组件没有帮助提示),写的程序还是大篇的重复代码。为什么为这样那?因为我们总是把一个EXCEL文件当做系统文件进行操作。
  如果把EXCEL文件当做一个数据源来进行数据的读取操作时,就可以使用开发环境提供的数据访问方法来访问EXCEL文件了。这样就可以使用开发环境的帮助(提示)即快速又不费力的来读取和写入数据到EXCEL中。这样的代码即整洁又高效,同时代码还可以得到复用。
下面的例子是使用.NET对EXCEL文件的读取和写入
示例的应用环境是从其它一个或多个EXCEL中读取数据,然后将多个数据写入到一个汇总的EXCEL(汇总的EXCEL文件只有表头没有数据)。前提是EXCEL文件内的结构是一样的。
Excel文件的读取
public DataSet ExcelToDS(string Path)
{
 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
 OleDbConnection conn = new OleDbConnection(strConn);
 conn.Open();  
 string strExcel = "";   
 OleDbDataAdapter myCommand = null;
 DataSet ds = null;
 strExcel="select * from [sheet1$]";
 myCommand = new OleDbDataAdapter(strExcel, strConn);