我使用Excel 2016 * .xlsx文件作为模板,并使用EPPlus 4.1.1填充一些数据。为了做到这一点,我使用了我从excelPackage中检索的命名范围
var namedRanges = excelPackage.Workbook.Names; //ExcelNamedRangeCollection
var namedRange = namedRanges["myRangeName"];
var ws = namedRange.Worksheet;
var numberOfExcelColumns = namedRange.End.Column - namedRange.Start.Column + 1;
var numberOfExcelRows = namedRange.End.Row - namedRange.Start.Row + 1;
var absoluteRowIndex = ...;
var absoluteColumnIndex = ...;
var valueToWrite = ...;
...
ws.Cells[absoluteRowIndex, absoluteColumnIndex].Value=valueToWrite;
虽然值的插入工作正常,但我看到一些不必要的副作用:
默认单元格模板看起来好像已更改为蓝色背景颜色而不是原始Excel文件的白色背景颜色。
调整原始Excel文件的某些公式。我根本没有改变包含公式(例如C7)的细胞。 (我刚刚在公式引用的单元格中输入了一些数据(例如F47)。)
我没有设置任何样式或任何单元格公式。因此,我猜这是一个EPPlus或Excel 2016错误或我使用不支持的星座(例如错误的excel文件格式,excel版本)。
=>欢迎任何关于如何避免这些奇怪副作用的建议。
编辑:
答案 0 :(得分:0)
一个。我安装了EPPlus版本4.5.0.1-beta(不适用于nuget包管理器,但包管理器控制台:
Install-Package EPPlus -Version 4.5.0.1-beta
另见 https://www.nuget.org/packages/EPPlus/4.5.0.1-beta
这似乎解决了公式问题。
B中。颜色问题仍然存在。 这可能与
有关“在”页面布局“视图中添加标题后,”填充单元格格式无法正确呈现“: https://support.office.com/en-us/article/Fixes-or-workarounds-for-recent-issues-in-Excel-for-Windows-49d932ce-0240-49cf-94df-1587d9d97093
(我目前无法更新Excel。我当前的内部版本号是16.0.4591.1000)
答案 1 :(得分:0)
颜色问题解决方法在https://github.com/JanKallman/EPPlus/issues/98中进行了描述。您需要创建自己的样式“ Normal”(EPP库不理解本地化的Excel名称DE“ Standard”或CZ“Normální”)。