• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
前提应该是:电脑必须有安装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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#调用百度AI开发平台发布时间:2022-07-13
下一篇:
C#中httpclient的使用发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap