我正在从 tempalte excel 工作表创建一个 excel 工作表。
我有密码
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 文件,但无法添加单元格值。为什么?
我已经用上面代码中的 2 种方法尝试过 cell(5,1)。但是 Excel 工作表创建时没有写入单元格值。我们如何添加它。
最佳答案
您需要保存文件以保留所做的更改。使用保存()
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 固有的。 同样,您必须打开每个工作表并对其进行一些更改才能保存。
搜索论坛以获得更多解释。
关于c# - 如何以编程方式从模板 excel 工作表创建 excel 工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1628891/