如何在不更改当前格式的情况下将数据写入Excel

时间:2015-04-09 10:42:01

标签: c# excel

我正在尝试覆盖Excel工作表中的数据。我这样做的方法是删除工作表中的内容,然后写入数据范围。问题是,当我写入数据时,它会删除单元格格式,然后将我的数字作为文本。 有没有办法保持用户定义的格式,所以当我写数据时,它使用相同的格式?

1 个答案:

答案 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();