电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

在ASP-NET中读写Excel文件有四种解决方案VIP免费

在ASP-NET中读写Excel文件有四种解决方案_第1页
1/6
在ASP-NET中读写Excel文件有四种解决方案_第2页
2/6
在ASP-NET中读写Excel文件有四种解决方案_第3页
3/6
在ASP.NET中读写Excel文件有四种解决方案在ASP.NET应用程序常常会遇到需要从Excel文件中读取数据或将数据写入Excel的需求。一般来讲,在ASP.NET中读写Excel文件有四种解决方案。1.1.1使用OLEDB使用OLEDB可以以查询数据库的方式来读取Excel文件,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。使用OLEDB访问Excel的要点是计算机上必须具有MicrosoftAccessDataComponent2.6(MADC2.6)以上版本,同时在连接字符串上必须声明“ExtendedProperties=Excel8.0”,这里的指定Excel版本号如果高于8.0可能会出错,所以一般来讲必须使用Excel8.0。然后其它的写法就和一般的访问数据库一样了,打开连接,填充数据集,再关闭连接即可。例如下面的实现代码://创建一个数据链接stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\sample.xls;ExtendedProperties=Excel8.0";OleDbConnectionmyConn=newOleDbConnection(strCon);stringstrCom="SELECT*FROM[Sheet1$]";myConn.Open();//打开数据链接,得到一个数据集OleDbDataAdaptermyCommand=newOleDbDataAdapter(strCom,myConn);//创建一个DataSet对象myDataSet=newDataSet();//得到自己的DataSet对象myCommand.Fill(myDataSet,"[Sheet1$]");//关闭此数据链接myConn.Close();代码7-1使用这种解决方案的优点是不需要其他的服务器组件,部署非常方便,但是其缺点也是明显的,用它来读取Excel2003格式以上的文件会存在数据丢失的情况,而且也无法生成Excel文件。1.1.2使用Office主互操作程序集另外一种解决方案是使用Office主互操作程序集,采用这种方式需要在服务器上安装Office2003。但是能够比较精细的控制Excel文件的方方面面,包括格式、字体、颜色等等。下面的代码演示了如何读取Excel文件中某个单元格的值:stringexcelFilePath=@"D:\Book1.xls";Excel.ApplicationmyExcel=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=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("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.Tables["mytable"].NewRow();for(intj=1;j<=5;j++){Excel.Ranger=(Excel.Range)mySheet.Cells[i,j];stringstrValue=r.Text.ToString();stringaa=strValue;stringcolumnname="F"+j.ToString();myRow[columnname]=strValue;}myDs.Tables["mytable"].Rows.Add(myRow);}DataGrid1.DataSource=myDs.Tables["mytable"].DefaultView;DataGrid1.DataBind();代码7-2而下面的代码则演示了如何生成Excel文件并向其中写入值:stringfilename="";Excel.ApplicationClassoExcel;oExcel=newExcel.ApplicationClass();oExcel.UserControl=false;Excel.WorkbookClasswb=(Excel.WorkbookClass)oExcel.Workbooks.Add(System.Reflection.Missing.Value);for(inti=1;i<=5;i++){oExcel.Cells[i,1]=i.ToString();oExcel.Cells[i,2]="'第2列";oExcel.Cells[i,3]="'第3列";oExcel.Cells[i,4]="'第4列";}wb.Saved=true;filename=Request.PhysicalApplicationPath+"test.xls";oExcel.ActiveWorkbook.SaveCopyAs(filename);oExcel.Quit();System.GC.Collect();Response.Redirect(Request.ApplicationPath+"/test.xls");代码7-3实际上对于ASP...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

在ASP-NET中读写Excel文件有四种解决方案

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部