创建Excel工作表并将数据写入其中

时间:2012-04-11 09:00:50

标签: c# c#-4.0

我正在努力将数据写入c#中的Excel表格。

我已经使用了以下代码。

        string excel_filename = @"C:\Users\Downloads\bookmain.xlsx";
        Excel.Application excel = new Excel.Application();
        excel.Visible = true;
        Excel.Workbook wb = excel.Workbooks.Open(excel_filename);
        Excel.Worksheet sh = wb.Sheets.Add(); 
        sh.Name = "TestSheet"; 
        sh.Cells[1, "A"].Value2 = "SNO";
        sh.Cells[1, "B"].Value2 = "Name";
        sh.Cells[1, "C"].Value2 = "ID";
        for (int i = 0; i < 2; i++)
        {
            sh.Cells[i+2, "A"].Value2 = "1";
            sh.Cells[i+2, "B"].Value2 = "A";
            sh.Cells[i+2, "C"].Value2 = "1122"; 
        }


        wb.Save();
        excel.Quit();             

这里我给出了已经存在的excel文件的路径,它是空的。

如何更改此代码,当我给出它应该自动检查的路径时,如果它存在则必须创建否则不需要创建。

即使我的代码也需要检查工作表名称,它存在我将直接编辑它,否则我需要创建一个新工作表。

任何人都可以分享他们的回应。

谢谢。

1 个答案:

答案 0 :(得分:4)

用于检查文件是否存在:

if(!File.Exists(excel_filename)) 
{
  //if not exists then only create:- 
}

并且对于检查工作表,您可以这样做:

foreach (Sheet sheet in workbook.Sheets)
{
    if (sheet.Name.equals("Test"))
    {
        //do something
    }
}

更新: 这是它的工作原理:

创建Excel对象

Excel.Application excel = new Excel.Application();

使Excel可见

excel.visible = true

添加工作表

Excel.Worksheet sh = wb.Sheets.Add();

将其另存为

  wb .SaveAs( @"C:\Users\Downloads\bookmain.xlsx",
            Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing,
            false, false, Excel.XlSaveAsAccessMode.xlNoChange,
            missing, missing, missing, missing, missing);