【问题标题】:Dynamically set column in sum formula using aspose.cells使用 aspose.cells 在求和公式中动态设置列
【发布时间】:2011-10-28 02:11:07
【问题描述】:

我正在使用 aspose excel 导出。我在.net 中设置公式。

我想要第三个单元格中两个单元格值的总和。喜欢

excelbook.Worksheets[0].Cells["A2"].R1C1Formula = "=SUM(R1C1,R1C2)";

但我想动态设置列。就像上面的公式列 C1,C2 是固定的。

现在我想动态选择列名,我想像下面这样构建我的公式

excelbook.Worksheets[0].Cells["A2"].R1C1Formula = "=SUM(R1C(单元格 B1 的值),R1C(单元格 B2 的值))";

所以如果我在 B1 单元格中输入 1,在 B2 单元格中输入 3,那么它应该对 A1 和 C1 求和。我可以在 B1 和 B2 单元格中输入任何值,并且 Excel 应该根据输入的值计算总和。

请建议如何构建这种类型的公式。

直接在excel中我们可以这样做:-

=间接(B1&1)+间接(B2&1)

所以请建议我可以在 r1c1 公式中使用 INDIRECT 还是建议其他方式。

【问题讨论】:

    标签: aspose aspose-cells


    【解决方案1】:

    如果您想在 Excel 中添加 D1 和 E1,但又想根据特定单元格的值选择行;例如,在这种情况下,您可以使用 A1 和 A2 放置要选择的行的值,然后您将使用如下公式:

    =SUM(INDIRECT("D"&$A$1),INDIRECT("E"&$A$2))

    您也可以使用Aspose.Cells for .NET 分配相同的公式。请看以下代码:

            //create XLS File
            //Instantiate a Workbook object that represents Excel file.
            //create a workbook
            Workbook CellsDocument = new Workbook();
            //Note when you create a new workbook, a default worksheet
            //"Sheet1" is added (by default) to the workbook.
            //Access the first worksheet "Sheet1" in the book.
            Worksheet sheet = CellsDocument.Worksheets[0];
            //Access the cells and put values
            Aspose.Cells.Cell cellA1 = sheet.Cells["A1"];
            cellA1.PutValue(1);
    
            Aspose.Cells.Cell cellA2 = sheet.Cells["A2"];
            cellA2.PutValue(1);
    
            Aspose.Cells.Cell cellD1 = sheet.Cells["D1"];
            cellD1.PutValue(4);
    
            Aspose.Cells.Cell cellE1 = sheet.Cells["E1"];
            cellE1.PutValue(5);
    
            Aspose.Cells.Cell cellE14 = sheet.Cells["E14"];
            cellE14.R1C1Formula = "=SUM(INDIRECT(\"D\"&$A$1),INDIRECT(\"E\"&$A$2))";
    
    
            //Save the Excel file.
            CellsDocument.Save("output.xls", Aspose.Cells.SaveFormat.Excel97To2003);
    

    请在最后使用latest version of the Aspose.Cells for .NET 进行尝试。如果您认为这没有帮助,或者我无法清楚地理解您的问题,请分享您的进一步想法。

    披露:我在 Aspose 担任开发人员布道师。

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-19
      • 1970-01-01
      • 2013-04-01
      相关资源
      最近更新 更多