我正在尝试覆盖Excel工作表中的数据。我这样做的方法是删除工作表中的内容,然后写入数据范围。问题是,当我写入数据时,它会删除单元格格式,然后将我的数字作为文本。 有没有办法保持用户定义的格式,所以当我写数据时,它使用相同的格式?
答案 0 :(得分:0)
您可以使用Microsoft.Office.Interop.Excel dll文件。将它添加到项目参考和代码中,使用Excel = Microsoft.Office.Interop.Excel;
然后检查以下代码。另外,对于这个dll,应该在将要运行此代码的机器中安装Microsoft Excel。
Excel.Application excel = new Excel.Application();
excel.DisplayAlerts = false;
excel.Workbooks.Add();
Excel.Worksheet worksheet = excel.ActiveSheet;
int rowIndex = 2 ;
worksheet.Cells[1, "A"] = "List Title";
worksheet.Cells[1, "B"] = "Item Count";
Console.WriteLine("Copying the contents to Excel");
foreach (var list in listCollection)
{
worksheet.Cells[rowIndex, "A"] = list.Title;
worksheet.Cells[rowIndex, "B"] = list.ItemCount;
rowIndex++;
//Console.Write("List Title: {0}", list.Title);
//Console.WriteLine("\t"+"Item Count:"+list.ItemCount);
}
string fileName = string.Format(@"C:\FileName.xlsx");
worksheet.SaveAs(fileName);
Console.WriteLine("Export Completed");
Console.ReadLine();
excel.Quit();
GC.Collect();