5

テンプレートエクセルシートからエクセルシートを作成しています。

私はコードをもっている

try
{
    FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
    FileInfo template = new FileInfo(@"D:\template.xlsx");

    using (ExcelPackage xlPackage = new ExcelPackage(newFile, template))
    {
        
        ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"];
        
        ExcelCell cell = worksheet.Cell(5,1);
        cell.Value = "15";
        
        //worksheet.Cell(5, 1).Value = "Soap";

        //xlPackage.Save();
        Response.Write("Excel file created successfully");
    }

}
catch (Exception ex)
{
    Response.WriteFile(ex.InnerException.ToString());
}  

このコードは、テンプレートの Excel ファイルと同じ新しい Excel ファイルを作成しますが、セルの値を追加できませんでした。なんで?

cell(5,1)の上記のコードのように、2つの方法で試しました。しかし、Excelシートはセル値を書き込まずに作成します。追加する方法。

4

1 に答える 1

4

行った変更を保持するには、ファイルを保存する必要があります。save() の使用

  try
        {
            FileInfo newFile = new FileInfo(@"D:\ExcelFromTemplate.xlsx");
            FileInfo template = new FileInfo(@"C:\Example.xlsx");

            using (ExcelPackage xlPackage = new ExcelPackage(newFile , template))
            {

               //Added This part
               foreach (ExcelWorksheet aworksheet in xlPackage.Workbook.Worksheets)
                {
                    aworksheet.Cell(1, 1).Value = aworksheet.Cell(1, 1).Value;
                }

                ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["My Data"];

                ExcelCell cell = worksheet.Cell(5, 1);
                cell.Value = "15";

                //worksheet.Cell(5, 1).Value = "Soap";

                xlPackage.Save( );
                //Response.Write("Excel file created successfully");
            }

        }
        catch (Exception ex)
        {
            //Response.WriteFile(ex.InnerException.ToString());
        }

問題を取得しました。この問題は、ExcelPackage に固有のものです。同じように、各シートを開いて、保存するためにいくつかの変更を行う必要があります。

詳細については、フォーラムを検索してください。

于 2009-10-27T06:21:27.277 に答える