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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM