【发布时间】:2015-11-09 05:11:26
【问题描述】:
当我将数据添加到数据表时,我正在尝试使用 .ToString() 导出 Excel 文件。 Excel 文件单元格格式不是文本,而是General 格式。这是我的代码。
public static void CreateExcel(string filename,System.Data.DataTable table)
{
if (filename != "")
{
Application xlApp = new Microsoft.Office.Interop.Excel.Application();
xlApp.DisplayAlerts = false;
if (xlApp == null)
{
return;
}
Workbook xlWorkBook;
Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);
int Row = table.Rows.Count;
int Column = table.Columns.Count;
for (int i = 0; i <= Column - 1; i++)
{
xlWorkSheet.Cells[1, i + 1] = table.Columns[i].ToString();
}
for (int i = 0; i <= Row - 1; i++)
{
for (int j = 0; j <= Column - 1; j++)
{
xlWorkSheet.Cells[i + 2, j + 1] = table.Rows[i][j].ToString();
}
}
xlWorkBook.SaveAs(@filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, System.Reflection.Missing.Value, misValue, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlUserResolution, true, misValue, misValue, misValue);
xlWorkBook.Close();
xlApp.Quit();
Marshal.FinalReleaseComObject(xlWorkSheet);
Marshal.FinalReleaseComObject(xlWorkBook);
Marshal.FinalReleaseComObject(xlApp);
GC.Collect();
}
}
有没有办法改变单元格格式?
【问题讨论】:
-
当您在 Excel UI 中编辑单元格时,您可以通过以单引号 (') 字符开头的值来强制文本格式。也许这在由代码设置时也有效?
-
@modal_dialog 它对我有用。想
标签: c# excel excel-interop