过去,我创建了一个组件,用于使用excel库传递和从excel检索值.好的一点是,一旦你的工作簿在内存中并修改了一个单元格(我们称之为原始单元格),所有其他具有获取此原始单元格值的公式的单元格将自动刷新.
这可能在OpenXml中吗?
据我所知,显然这在OpenXml中不会发生,因为excel引擎并不是真的在后台执行,OpenXml只是一组用于序列化,反序列化,读取等xml文件的类吗?
没错,Office Open XML SDK 只是一组用于读取/写入 XML 文件的库。它不具有任何执行计算的功能。
您可以通过设置以下属性来指定 Excel 应在加载时重新计算所有内容,但如果您需要读取代码中的新值(在 Excel 中重新打开之前),这将无济于事。
<workbook>
<calcPr fullCalcOnLoad="1"/>
</workbook>
Run Code Online (Sandbox Code Playgroud)
或者使用 Office Open XML SDK 编写代码。
using (var doc = SpreadsheetDocument.Open(path, false))
{
doc.WorkbookPart.Workbook.CalculationProperties.FullCalculationOnLoad = true;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |