【发布时间】:2016-04-13 07:24:27
【问题描述】:
我用 C# 编写了一个从数据表中导出 excel 的程序。默认情况下,单元格格式在常规中是固定的。如何通过程序更改单元格格式? (示例格式:文本、数字等)。 这是我的代码
private void WriteExcel(DataTable datatable, string FileName)
{
StringBuilder SBuild = new StringBuilder();
using (StreamWriter sw2Excel = File.CreateText(FileName))
{
//get the Columns of the DataTable in the 1st Line
for (int i = 0; i < datatable.Columns.Count; i++)
{
SBuild.Append(datatable.Columns[i].ColumnName + "\t");
}
sw2Excel.WriteLine(SBuild.ToString());
//Fill The Rows To the Excel File
for (int i = 0; i < datatable.Rows.Count; i++)
{
StringBuilder swRowSb = new StringBuilder();
for (int k = 0; k < datatable.Columns.Count; k++)
{
swRowSb.Append(datatable.Rows[i][k].ToString().Replace(',', ' ') + "\t");
}
sw2Excel.WriteLine(swRowSb.ToString());
}
Microsoft.Office.Interop.Excel.ApplicationClass app = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook workBook = app.Workbooks.Open(FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, ",", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
workBook.SaveAs(FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
app.Workbooks.Close();
app.Quit();
}
}
【问题讨论】:
标签: c# .net excel winforms datatable