我正在努力将数据写入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文件的路径,它是空的。
如何更改此代码,当我给出它应该自动检查的路径时,如果它存在则必须创建否则不需要创建。
即使我的代码也需要检查工作表名称,它存在我将直接编辑它,否则我需要创建一个新工作表。
任何人都可以分享他们的回应。
谢谢。
答案 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.Application excel = new Excel.Application();
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);