如何将数据导出到excel

如何将数据从数据表导出到excel文件并输出正确的数据。 我的意思是第一行的Excellogging应该是头,显示数据应该显示所有的值而不是四舍五入的值。 请帮忙** ldt_Temp(datatable),as_OutputDir(导出目录)

object misValue = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); app.Visible = false; Microsoft.Office.Interop.Excel.Workbook wb = app.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.ActiveSheet; // Headers. for (int i = 0; i < ldt_Temp.Columns.Count; i++) { ws.Cells[1, i + 1] = ldt_Temp.Columns[i].ColumnName; } // Content. for (int i = 0; i < ldt_Temp.Rows.Count; i++) { for (int j = 0; j < ldt_Temp.Columns.Count; j++) { ws.Cells[i + 2, j + 1] = ldt_Temp.Rows[i][j].ToString(); } } ws.Name = ldt_Temp.TableName; wb.SaveAs(as_OutputDir, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); wb.Close(true, misValue, misValue); app.Quit(); 

在这里输入图像说明

第1行似乎已经是标题…您的箭头指向列标签。 你想'A'是“Site_Site_id”吗? 这不是如何工作。

为了精确,请右键单击并select格式。 现在将小数精度更改为您想显示的数字。

在这里输入图像说明


您还可以突出显示所有单元格,并使用工具栏button:

在这里输入图像说明


你可以试着用代码这样做:

 // Content. for (int i = 0; i < ldt_Temp.Rows.Count; i++) { for (int j = 0; j < ldt_Temp.Columns.Count; j++) { ws.Cells[i + 2, j + 1] = ldt_Temp.Rows[i][j].ToString(); ws.Cells[i + 2, j + 1].NumberFormat = "0.00000000000000000" } } 

我也find了一种方法来重新排列每个单元格的每个数字格式,循环每个单元格,并获得数字的长度,并创builddynamic格式

  string ls_Test = cells value string part = ls_Test.Substring(0, ls_Test.IndexOf('.')); string ls_FormatDeicmal = ls_Test.Substring(part.Length + 1, ls_Test.Length - (part.Length + 1)); string ls_DigiFormat = ""; for (int f = 0; f < ls_FormatDeicmal.Length; f++) { ls_DigiFormat += "0"; } ls_DigiFormat = "0." + ls_DigiFormat; // 0.000000000, 0.00, 0.00000 ws.Cells[i + 2, j + 1].NumberFormat = ls_DigiFormat;