C# 如何批量刪除Excel單元格中的公式只保留資料
阿新 • • 發佈:2019-02-06
在建立Excel報表時,我們經常會用到很多公式來計算資料,建立後出於保密性或其他一些原因,有些時候我們可能想刪除這些公式,只保留資料。這篇文章將介紹如何使用Free Spire.XLS元件和C#批量刪除Excel文件中的所有公式並保留資料。
下面Excel文件工作表中D列的單元格都包含有公式,我選中了其中一個單元格來截圖:
在使用程式碼前,需要建立一個C#應用程式,下載Free Spire.XLS元件並從安裝資料夾下引用Spire.Xls.dll到程式中。
具體步驟如下:
步驟1:建立Workbook例項,載入Excel文件。
Workbook workbook = new Workbook(); workbook.LoadFromFile("Input.xlsx");
步驟2:遍歷文件中所有工作表,找到其中所有包含公式的單元格,獲取單元格中公式的資料,然後清除單元格中的內容,最後將資料再次賦值給單元格。
步驟3:儲存文件。foreach (Worksheet sheet in workbook.Worksheets) { foreach (CellRange cell in sheet.Range) { if(cell.HasFormula) { Object value = cell.FormulaValue; cell.Clear(ExcelClearOptions.ClearContent); cell.Value2 = value; } } }
workbook.SaveToFile("DeleteFormula.xlsx",ExcelVersion.Version2013);
刪除公式後的效果:
完整程式碼:
//建立Workbook例項 Workbook workbook = new Workbook(); //載入Excel文件 workbook.LoadFromFile("Input.xlsx"); //遍歷文件中所有工作表,找到其中所有包含公式的單元格,獲取單元格中公式的資料,然後清除單元格中的內容,最後將資料再次賦值給單元格 foreach (Worksheet sheet in workbook.Worksheets) { foreach (CellRange cell in sheet.Range) { if(cell.HasFormula) { Object value = cell.FormulaValue; cell.Clear(ExcelClearOptions.ClearContent); cell.Value2 = value; } } } //儲存文件 workbook.SaveToFile("DeleteFormula.xlsx",ExcelVersion.Version2013);