编程语言
首页 > 编程语言> > C# 将表格数据保存到Excel文件中(

C# 将表格数据保存到Excel文件中(

作者:互联网

前提应该是:电脑必须有安装Excel 正确代码: string path = System.Environment.CurrentDirectory+"\\"+DateTime.Now.ToString("yyyyMMddHHmmssfff"); Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();  int rowIndex = 1; int colIndex = 0;  excel.Application.Workbooks.Add(true);  foreach (DataColumn col in dt.Columns) {     colIndex++; excel.Cells[1, colIndex] = col.ColumnName; }  foreach (DataRow row in dt.Rows)   {       rowIndex++;      colIndex = 0;        foreach (DataColumn col in dt.Columns)        {      colIndex++;        excel.Cells[rowIndex, colIndex] = "'"+row[col.ColumnName].ToString();  }  }   excel.Visible = false;  excel.ActiveWorkbook.SaveAs(path + ".XLS ", Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel7,     null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, null,     null, null, null, null);   excel.Quit();  excel = null;   GC.Collect();//垃圾回收 1、在过程中,因为要导出的数据中有int型数据,而且数据长度为12,在导出到Excel中的时候变成了科学计数    的方式 2、导出的数据中有的不是int型数据,为varchar类型数据,但是在导出的时候数据含有“E” 的数据最后导出到Excel中的时候显示格式也是为科学计数的方式   解决方法:源代码为excel.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();为了保证导出的数     据正确,最后将数据导成了文本格式,即在row[col.ColumnName]前加“'”,意思为表示导出的格式为文本     格式

分享:    http://blog.sina.com.cn/s/blog_6e294ffc0101bdjl.html

标签:colIndex,表格,C#,Excel,excel,导出,null,col
来源: https://www.cnblogs.com/xihong2014/p/13790020.html