C# 如何批量删除Excel单元格中的公式只保留数据

在创建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:遍历文档中所有工作表,找到其中所有包含公式的单元格,获取单元格中公式的数据,然后清除单元格中的内容,最后将数据再次赋值给单元格。

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;
        }
    }
}
步骤3:保存文档。

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);


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值