ClosedXML复制和粘贴公式的范围作为值

时间:2018-12-07 19:37:11

标签: c# closedxml

我有一个函数ApplyFormulas(),显然会应用这样的公式

parseInt(

但是,现在我需要复制该范围并将其粘贴到同一位置,以便这些值是真实的,而不仅仅是公式引用。

我可以在VBA中使用excel interop来做到这一点,但是我正在使用ClosedXML。有人知道这样做的方法吗?我尝试了CopyTo(),但没有粘贴特殊字符等。

我也尝试过

detailWs.Range(companyModel.RevenueFormulaRangeDollars).FormulaR1C1 = companyModel.RevenueFormulaDollars;

但是不能使用获取属性或索引器,因为它缺少获取器,但是据我所知,两者都有获取器;组;属性。

我已经尝试了几次,但仍然无法正常工作。

detailWs.Range(companyModel.NoChargeFormulaRangePercent).Value = detailWs.Range(companyModel.NoChargeFormulaRangePercent).Value;

1 个答案:

答案 0 :(得分:0)

这是我几个月前创建的将所有公式复制到一个工作表中的内容。

注意:我遇到一个问题,其中某些使用名称的公式无法正确复制名称,因为有些人认为名称(即= QF00)是引用,并且会使用自动填充功能对其进行更改。当我知道后会更新。

cx.IXLWorksheet out_buff
cx.IXLRange src_range
cx.IXLCells tRows = src_range.CellsUsed(x => x.FormulaA1.Length > 0);

foreach (cx.IXLCell v in tRows)
{
    cell_address = v.Address.ToString();
    out_buff.Range(cell_address).FormulaA1 = v.FormulaA1;
}