在aspnet中读写excel文件有四种解决方案

在aspnet中读写excel文件有四种解决方案

ID:35277937

大小:49.50 KB

页数:7页

时间:2019-03-22

在aspnet中读写excel文件有四种解决方案_第1页
在aspnet中读写excel文件有四种解决方案_第2页
在aspnet中读写excel文件有四种解决方案_第3页
在aspnet中读写excel文件有四种解决方案_第4页
在aspnet中读写excel文件有四种解决方案_第5页
资源描述:

《在aspnet中读写excel文件有四种解决方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在ASP.NET中读写Excel文件有四种解决方案在ASP.NET应用程序常常会遇到需要从Excel文件中读取数据或将数据写入Excel的需求。一般来讲,在ASP.NET中读写Excel文件有四种解决方案。1.1.1使用OLEDB使用OLEDB可以以查询数据库的方式来读取Excel文件,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。使用OLEDB访问Excel的要点是计算机上必须具有MicrosoftAccessDataComponent2.6(MADC2.6)以上版本,同时在连接字符串

2、上必须声明“ExtendedProperties=Excel8.0”,这里的指定Excel版本号如果高于8.0可能会出错,所以一般来讲必须使用Excel8.0。然后其它的写法就和一般的访问数据库一样了,打开连接,填充数据集,再关闭连接即可。例如下面的实现代码://创建一个数据链接stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\sample.xls;ExtendedProperties=Excel8.0";OleDbConnectionmyConn=newOleDbCo

3、nnection(strCon);stringstrCom="SELECT*FROM[Sheet1$]";myConn.Open();//打开数据链接,得到一个数据集OleDbDataAdaptermyCommand=newOleDbDataAdapter(strCom,myConn);//创建一个DataSet对象myDataSet=newDataSet();//得到自己的DataSet对象myCommand.Fill(myDataSet,"[Sheet1$]");//关闭此数据链接myConn.Close();代码7-1使用这种解决方案的

4、优点是不需要其他的服务器组件,部署非常方便,但是其缺点也是明显的,用它来读取Excel2003格式以上的文件会存在数据丢失的情况,而且也无法生成Excel文件。1.1.2使用Office主互操作程序集另外一种解决方案是使用Office主互操作程序集,采用这种方式需要在服务器上安装Office2003。但是能够比较精细的控制Excel文件的方方面面,包括格式、字体、颜色等等。下面的代码演示了如何读取Excel文件中某个单元格的值:stringexcelFilePath=@"D:Book1.xls";Excel.ApplicationmyExc

5、el=newExcel.ApplicationClass();objectoMissing=System.Reflection.Missing.Value;myExcel.Application.Workbooks.Open(excelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);Excel.WorkbookmyBook

6、=myExcel.Workbooks[1];Excel.WorksheetmySheet=(Excel.Worksheet)myBook.Worksheets[1];System.Data.DataTabledt=newSystem.Data.DataTable("mytable");dt.Columns.Add("F1",System.Type.GetType("System.String"));dt.Columns.Add("F2",System.Type.GetType("System.String"));dt.Columns.Add(

7、"F3",System.Type.GetType("System.String"));dt.Columns.Add("F4",System.Type.GetType("System.String"));dt.Columns.Add("F5",System.Type.GetType("System.String"));DataSetmyDs=newDataSet();myDs.Tables.Add(dt);DataRowmyRow;myDs.Clear();for(inti=2;i<=4;i++)//第一行为标题,不读取{myRow=myDs.

8、Tables["mytable"].NewRow();for(intj=1;j<=5;j++){Excel.Ranger=(Excel.Range)mySheet.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。