我在尝试使用 oledb 之后才开始使用 epplus 库,然后尝试了互操作。
下面是我正在做的
public void editExcel_VariablesEEP()
{
try
{
FileInfo newFile = new FileInfo(excelQuotePath);
ExcelPackage pck = new ExcelPackage(newFile);
var energyCalculation = pck.Workbook.Worksheets[4];
var ROI = pck.Workbook.Worksheets[3];
var NPV = pck.Workbook.Worksheets[2];
var Summary = pck.Workbook.Worksheets[1];
energyCalculation.Cells["B5"].Value = Convert.ToDecimal(numericUpDown1.Value);
energyCalculation.Cells["B6"].Value = numericUpDown2.Value;
energyCalculation.Cells["B7"].Value = numericUpDown3.Value;
energyCalculation.Cells["B8"].Value = numericUpDown4.Value;
NPV.Cells["B12"].Value = (numericUpDown5.Value/100);
NPV.Cells["B13"].Value = (numericUpDown6.Value / 100);
NPV.Cells["B14"].Value = (numericUpDown7.Value / 100);
energyCalculation.Cells["F40"].Value = (numericUpDown8.Value / 100);
energyCalculation.Cells["L5"].Value = numericUpDown9.Value;
energyCalculation.Cells["G60"].Value = (comboBox1.Text);
Summary.Cells["K2"].Value = (quoteName.Text);
pck.Save();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
由于未知原因,它将正确保存,Visual Studio 中没有显示错误。但是当我打开 xlsx 文件时,我会看到“文件已损坏”提示。然后我同意修复,错误显示为 - Removed Part: Drawing shape。但是,当我查看 Excel 时,所有数据都存在并说明了。
如果您对此熟悉,请提供帮助。
谢谢。
//更新测试只是继续,我正在做的事情,我将模板 xlsx 文件复制到另一个文件夹,我运行上面发布的代码并保存它。我加载了新编辑的 xlsx 文件并显示错误。我确认修复然后保存/覆盖它。然后我再次运行该程序,但我将其指向文件。它节省。我跑了,没有出现错误。发生了什么事,我不知道是什么。
//更新2
那么,到目前为止发生了什么。错误在其描述中是正确的。这是一个引起问题的图像。我完全忽略了它,因为它是一个小图像。我必须做的修复是通过右键单击图像更改“大小和属性”菜单中的一些设置。在属性选项卡下,我选中了“不要移动或调整单元格大小”,并选中了打印对象和锁定复选框。最后,在尺寸选项卡下,我检查了“锁定纵横比”。加载时没有显示错误。但是观察文件大小,看起来图像没有“保存”,因为每次我打开 excel 然后关闭时,即使我没有做任何更改,它也会要求保存。确认保存,文件大小不同(大小增加)。测试这个“奇怪的保存”是否会影响重新打开文件或进一步编辑,我试过了,很好。没问题,重开。但“奇怪的保存”仍然存在。