/ / Uso de la biblioteca EPPlus para reemplazar fórmulas por sus valores en Excel - c #, excel, epplus

Uso de la biblioteca EPPlus para reemplazar fórmulas por sus valores en Excel - c #, excel, epplus

He leído eso Microsoft.Office.Interop.Excel Sería la forma más fácil de reemplazar fórmulas porsus valores en Excel pero requiere tener instalado Office. Dado que tendré que implementarlo en un servidor Windows (2008 o 2012), estoy buscando la mejor y / o la forma más sencilla de hacerlo utilizando EPPlus.

La adición de fórmulas está bien documentada, por ejemplo,

currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";

Pero no puedo encontrar ningún ejemplo de reemplazo de hojas de trabajo completas de fórmulas por sus valores equivalentes. Básicamente la Copia seguida por la opción Pegado Especial en Excel.

Respuestas

4 para la respuesta № 1

No creo que haya ningún tipo de función incorporada en Epplus que lo haga por usted en masa. Pero puedes aprovechar el hecho de que el Cells colección de la Worksheet Solo contiene entradas para celdas con contenido. Así que algo como esto no debería ser demasiado doloroso en cuanto al rendimiento:

currentWorksheet.Cells["C2"].Value = 5;
currentWorksheet.Cells["C3"].Value = 15;
currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";

currentWorksheet.Cells["D2"].Value = 15;
currentWorksheet.Cells["D3"].Value = 25;
currentWorksheet.Cells["D4"].Formula = "SUM(D2:D3)";

//Calculate the formulas and the overwrite them with their values
currentWorksheet.Cells.Calculate();
foreach (var cell in currentWorksheet.Cells.Where(cell => cell.Formula != null))
cell.Value = cell.Value;