如何使用EPPlus 4.1.1和Excel 2016避免不必要的副作用?

时间:2018-01-12 09:26:19

标签: .net excel epplus-4

我使用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版本)。

=>欢迎任何关于如何避免这些奇怪副作用的建议。

编辑:

我报告了一个错误 https://github.com/JanKallman/EPPlus/issues/98

enter image description here enter image description here enter image description here

enter image description here enter image description here

2 个答案:

答案 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í”)。