我需要从我的工作表中删除所有 Excel 公式(用其结果替换公式)然后保存文件。例如 - 当我使用 OpenXML 打开文件时,我希望在单元格中包含 2013-04-11 而不是 B3+13
我发现这篇文章 http://office.microsoft.com/en-us/excel-help/replace-a-formula-with-its-result-HP010066258.aspx
它有效 - 保存后没有公式。我在 C# 中需要同样的效果。我在互联网上尝试了很多解决方案,但仍然没有希望。
string source = @"C:\Source\doc.xlsx";
object Unknown = Type.Missing;
Workbook doc = newApp.Workbooks.Open(
source,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown,
Unknown);
newApp.Calculation = Microsoft.Office.Interop.Excel.XlCalculation.xlCalculationManual;
doc.ForceFullCalculation = true;
newApp.CalculateFull();
newApp.CalculateBeforeSave = true;
doc.SaveAs("c:\\temp\\recalc.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
doc.Close();
那么问题是什么?为什么我可以看到“=DY3+1”而不是“2013-04-11”?