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 ファイルのパスを指定しました。

このコードを変更する方法は、パスを指定すると自動的にチェックされ、存在する場合は作成する必要があり、それ以外の場合は作成する必要はありません。

私のコードでもシート名を確認する必要があります。存在する場合は直接編集するか、新しいシートを作成する必要があります。

誰でも応答を共有できますか。

ありがとうございました。

4

1 に答える 1

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);
于 2012-04-11T09:09:18.917 に答える