ASP.NET 导出EXCEL
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET 导出EXCEL
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
采用.Net Excel組件導(dǎo)出 EXCEL文件, ///?<summary>
????????///?導(dǎo)出Excel
????????///?</summary>
????????///?<param?name="source">需要導(dǎo)出的數(shù)據(jù)</param>
????????///?<param?name="exportFullPath">導(dǎo)出Excel文件的全路徑</param>
????????///?<param?name="hasHeadline">如果?true則生成表頭?</param>
????????private?void?ExportExcel(DataTable?source,?string?exportFullPath,?bool?hasHeadline)
????????{
????????????
????????????#region?采用.Net?Excel組件導(dǎo)出
????????????Application?objExcel?=?new?Application();
????????????if?(objExcel?==?null)
????????????{
????????????????throw?new?Exception("ERROR:?You?must?install?Microsoft?Excel?Application!");
????????????}
????????????//創(chuàng)建一個Excel文件(未保存,無文件名)
????????????Workbooks?objWorkbooks?=?objExcel.Workbooks;
????????????_Workbook?objWorkbook?=?objWorkbooks.Add(XlWBATemplate.xlWBATWorksheet);?//默認(rèn)創(chuàng)建sheet1
????????????//取得Sheet1
????????????Sheets?objSheets?=?objWorkbook.Worksheets;
????????????_Worksheet?objWorksheet?=?(_Worksheet)objSheets.get_Item(1);
????????????//寫入標(biāo)題
????????????int?intDataBeginRow?=?1;
????????????if?(hasHeadline)
????????????{
????????????????for?(int?i?=?0;?i?<?source.Columns.Count;?i++)
????????????????{
????????????????????objWorksheet.Cells[1,?i?+?1]?=?source.Columns[i].ColumnName.Trim();
????????????????}
????????????????//數(shù)據(jù)起始行加1
????????????????intDataBeginRow++;
????????????}
????????????//寫入數(shù)據(jù),Excel的索引是從1開始的
????????????for?(int?j?=?0;?j?<?source.Rows.Count;?j++)
????????????{
????????????????for?(int?k?=?0;?k?<?source.Columns.Count;?k++)
????????????????{
????????????????????objWorksheet.Cells[j?+?intDataBeginRow,?k?+?1]?=?source.Rows[j][k].ToString();
????????????????}
????????????}
????????????objWorksheet.Hyperlinks.Delete();?//去掉超鏈
????????????//保存文件(如果使用objWorkbook.SaveAs將不兼容excel2000,excelxp)
????????????objWorkbook._SaveAs(exportFullPath,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value,?XlSaveAsAccessMode.xlNoChange,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value);
????????????//關(guān)閉文件,釋放資源
????????????objWorkbook.Close(false,?exportFullPath,?false);
????????????objExcel?=?null;
????????????#endregion
????????}
直接調(diào)用ExportExcel 即可
????????///?導(dǎo)出Excel
????????///?</summary>
????????///?<param?name="source">需要導(dǎo)出的數(shù)據(jù)</param>
????????///?<param?name="exportFullPath">導(dǎo)出Excel文件的全路徑</param>
????????///?<param?name="hasHeadline">如果?true則生成表頭?</param>
????????private?void?ExportExcel(DataTable?source,?string?exportFullPath,?bool?hasHeadline)
????????{
????????????
????????????#region?采用.Net?Excel組件導(dǎo)出
????????????Application?objExcel?=?new?Application();
????????????if?(objExcel?==?null)
????????????{
????????????????throw?new?Exception("ERROR:?You?must?install?Microsoft?Excel?Application!");
????????????}
????????????//創(chuàng)建一個Excel文件(未保存,無文件名)
????????????Workbooks?objWorkbooks?=?objExcel.Workbooks;
????????????_Workbook?objWorkbook?=?objWorkbooks.Add(XlWBATemplate.xlWBATWorksheet);?//默認(rèn)創(chuàng)建sheet1
????????????//取得Sheet1
????????????Sheets?objSheets?=?objWorkbook.Worksheets;
????????????_Worksheet?objWorksheet?=?(_Worksheet)objSheets.get_Item(1);
????????????//寫入標(biāo)題
????????????int?intDataBeginRow?=?1;
????????????if?(hasHeadline)
????????????{
????????????????for?(int?i?=?0;?i?<?source.Columns.Count;?i++)
????????????????{
????????????????????objWorksheet.Cells[1,?i?+?1]?=?source.Columns[i].ColumnName.Trim();
????????????????}
????????????????//數(shù)據(jù)起始行加1
????????????????intDataBeginRow++;
????????????}
????????????//寫入數(shù)據(jù),Excel的索引是從1開始的
????????????for?(int?j?=?0;?j?<?source.Rows.Count;?j++)
????????????{
????????????????for?(int?k?=?0;?k?<?source.Columns.Count;?k++)
????????????????{
????????????????????objWorksheet.Cells[j?+?intDataBeginRow,?k?+?1]?=?source.Rows[j][k].ToString();
????????????????}
????????????}
????????????objWorksheet.Hyperlinks.Delete();?//去掉超鏈
????????????//保存文件(如果使用objWorkbook.SaveAs將不兼容excel2000,excelxp)
????????????objWorkbook._SaveAs(exportFullPath,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value,?XlSaveAsAccessMode.xlNoChange,?Missing.Value,?Missing.Value,?Missing.Value,?Missing.Value);
????????????//關(guān)閉文件,釋放資源
????????????objWorkbook.Close(false,?exportFullPath,?false);
????????????objExcel?=?null;
????????????#endregion
????????}
直接調(diào)用ExportExcel 即可
轉(zhuǎn)載于:https://www.cnblogs.com/kaiwind/archive/2008/04/22/1165821.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET 导出EXCEL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 编程[12] - 菜单与
- 下一篇: 文思创新深圳招聘biztalk