彻底解决C#实现DataTable导出EXCEL表格(原创)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

彻底解决C#实现DataTable导出EXCEL表格(原创)网上能搜到许多DataTable导出EXCEL的文章,但实施起来,可行者不多也!本人认真调试了一番,问题得以解决,现整理与大家分享:一、实现目标:由一个内存表DataTable,导出字段名及其内容的完整EXCEL表格二、实施步骤:1、添加引用:这是非常生要的一步,很多人调试不成都是因为这步没做好:需要在你的解决方案中添加COM引用,选择MicrosoftEXCEL....(根据版本有所不同),这是为下面的EXCEL相关命名空间的引用做铺垫的;我用的EXCEL2007,添加COM引用后如下图:增加了两个引用文件!2、命名空间引用部分:增加下面的引用内容:usingMicrosoft.Office.Interop.Excel;3、定义函数:publicstaticvoidDataTabletoExcel(System.Data.DataTabletmpDataTable,stringstrFileName){if(tmpDataTable==null)return;introwNum=tmpDataTable.Rows.Count;intcolumnNum=tmpDataTable.Columns.Count;introwIndex=1;intcolumnIndex=0;ApplicationxlApp=newApplicationClass();xlApp.DefaultFilePath=;xlApp.DisplayAlerts=true;xlApp.SheetsInNewWorkbook=1;WorkbookxlBook=xlApp.Workbooks.Add(true);//将DataTable的列名导入Excel表第一行foreach(DataColumndcintmpDataTable.Columns){columnIndex++;xlApp.Cells[rowIndex,columnIndex]=dc.ColumnName;}//将DataTable中的数据导入Excel中for(inti=0;irowNum;i++){rowIndex++;columnIndex=0;for(intj=0;jcolumnNum;j++){columnIndex++;xlApp.Cells[rowIndex,columnIndex]=tmpDataTable.Rows[i][j].ToString();}}//xlBook.SaveCopyAs(HttpUtility.UrlDecode(strFileName,System.Text.Encoding.UTF8));xlBook.SaveCopyAs(strFileName);}}4、使用实例:System.Data.DataTabledt=……;//准备好你的DataTableDataTabletoExcel(dt,C:\\中国.XLS);//调用自定义的函数,当然输出文件你可以随便写三、测试环境:VS2008,EXCEL2007

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功