欢迎来到天天文库
浏览记录
ID:51707034
大小:36.00 KB
页数:6页
时间:2020-03-15
《数据库导出Excel的3种方法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据库数据用Excel导出的3种方法分类:.Net2008-06-3011:07192人阅读评论(2)收藏举报将数据库数据用Excel导出主要有3种方法:用Excel.Application接口、用OleDB、用HTML的Tabel标签方法1——Excel.Application接口:首先,需要要Excel.dll这个文件,确保自身机器上装有MSOffice,在Office安装目录(../MicrosoftOffice/OFFICE11/,具体目录取决于自己的安装)中找到Excel.exe,然后放在(../MicrosoftVisualStudio8/SDK/v2.0/Bin)目录中,在CMD
2、中输入“CDC:/ProgramFiles/MicrosoftVisualStudio8/SDK/v2.0/Bin(具体目录取决于自己的安装)”,然后输入“TlbImpEXCEL.EXEExcel.dll”。然后在Bin这个文件夹中就能找到Excel.dll这个文件。用到时候在项目中引用就可以。要使用命名空间 usingExcel;具体代码://////将SQLServer中的数据导出到Excel(使用Excel类,在没装Office时无效)//////要导出的数据集///3、leName">输出到的文件目录publicstaticvoidSQLServerToExcel(DataSetExelDt,stringfileName){intcolIndex=1,rowIndex=1;Excel.Applicationexcel;WorkbookwBook;WorksheetwSheet;try{excel=newExcel.Application();wBook=excel.Application.Workbooks.Add(true);wSheet=wBook.Worksheets[1]asWorksheet;//excel.Visible=true4、;}catch{Win32.MsgBox(0,"您可能没有安装Office,请安装再使用该功能","",0);return;}try{foreach(DataColumncolinExelDt.Tables[0].Columns){wSheet.Cells[1,colIndex]=col.ColumnName;colIndex++;}foreach(DataRowrowinExelDt.Tables[0].Rows){rowIndex++;colIndex=0;foreach(DataColumncolinExelDt.Tables[0].Columns){colIndex++;if(colI5、ndex==1){wSheet.Cells[rowIndex,colIndex]="'"+row[col.ColumnName].ToString();}else{wSheet.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();}}}//设置禁止弹出保存和覆盖的询问提示框excel.DisplayAlerts=false;excel.AlertBeforeOverwriting=false; //保存wSheet.SaveAs(fileName,Missing.Value,Missing.Value,Missing.Value,Mi6、ssing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);wBook.Save();}catch(System.Exception){Win32.MsgBox(0,"输出Excel有错误,请确认没有关闭Excel","",0);return;}finally{excel.Quit();}}其中要注意的是:wSheet.SaveAs(fileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,7、Missing.Value,Missing.Value,Missing.Value,Missing.Value);wBook.Save();这样就不会在保存的时候还会弹出保存对话框。还要记得关闭Excel,不然就一直占有着finally{excel.Quit();} 方法2——用OleDB:个人觉得用OleDB最好,因为不需要安装Office也可以导出Excel,而且速度也比较快。具体代码:///
3、leName">输出到的文件目录publicstaticvoidSQLServerToExcel(DataSetExelDt,stringfileName){intcolIndex=1,rowIndex=1;Excel.Applicationexcel;WorkbookwBook;WorksheetwSheet;try{excel=newExcel.Application();wBook=excel.Application.Workbooks.Add(true);wSheet=wBook.Worksheets[1]asWorksheet;//excel.Visible=true
4、;}catch{Win32.MsgBox(0,"您可能没有安装Office,请安装再使用该功能","",0);return;}try{foreach(DataColumncolinExelDt.Tables[0].Columns){wSheet.Cells[1,colIndex]=col.ColumnName;colIndex++;}foreach(DataRowrowinExelDt.Tables[0].Rows){rowIndex++;colIndex=0;foreach(DataColumncolinExelDt.Tables[0].Columns){colIndex++;if(colI
5、ndex==1){wSheet.Cells[rowIndex,colIndex]="'"+row[col.ColumnName].ToString();}else{wSheet.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();}}}//设置禁止弹出保存和覆盖的询问提示框excel.DisplayAlerts=false;excel.AlertBeforeOverwriting=false; //保存wSheet.SaveAs(fileName,Missing.Value,Missing.Value,Missing.Value,Mi
6、ssing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);wBook.Save();}catch(System.Exception){Win32.MsgBox(0,"输出Excel有错误,请确认没有关闭Excel","",0);return;}finally{excel.Quit();}}其中要注意的是:wSheet.SaveAs(fileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,
7、Missing.Value,Missing.Value,Missing.Value,Missing.Value);wBook.Save();这样就不会在保存的时候还会弹出保存对话框。还要记得关闭Excel,不然就一直占有着finally{excel.Quit();} 方法2——用OleDB:个人觉得用OleDB最好,因为不需要安装Office也可以导出Excel,而且速度也比较快。具体代码:///
此文档下载收益归作者所有