问题描述
在使用 MS Interop Excel 后,我切换到 EPPlus 4.5.3.3。到目前为止,我对结果非常满意。 但是,当我想在现有 Excel 文件中插入新列时,只会复制第一个单元格的样式。
我在调查过程中也发现已经存在类似的问题: https://epplus4.rssing.com/chan-7547932/all_p76.html
此外,InsertRows 似乎有一个错误: https://github.com/JanKallman/EPPlus/issues/288
InsertColumn 函数是否存在已知错误?如果是这样,有什么解决方法吗?如果没有,我的代码中缺少什么?
我的代码如下:
FileInfo newFile = new FileInfo(outputName);
ExcelPackage excel = new ExcelPackage(newFile);
ExcelWorkbook wb = excel.Workbook;
ExcelWorksheet y = wb.Worksheets.First();
y.InsertColumn(1,1,2);
y.Cells[1,1].Value = "Test1";
y.Cells[2,1].Value = "Test2";
y.Cells[3,1].Value = "Test3";
虽然这是我的实际结果:
非常感谢您的任何建议:)
解决方法
问题是我使用的是从 B 列(最初是“A”列 - 在添加上面的列之前)开始的表格。添加附加列时,表未扩展到新范围。通过将表格改回正常范围,一切都按预期进行,样式也被复制了。
使用 MSFT Interop Excel 时,只需在新列中添加任何内容即可自动处理此问题。