我使用aspose excel导出。我在.net中设置formulla。
我想在第三个单元格中输入两个单元格的值。像
excelbook.Worksheets [0] .Cells [“A2”]。R1C1Formula =“= SUM(R1C1,R1C2)”;
但我想动态设置列。如上面的公式栏C1,C2是固定的。
现在我想动态选择列名,我想在下面构建我的formulla
excelbook.Worksheets [0] .Cells [“A2”]。R1C1Formula =“= SUM(R1C(单元格B1的值),R1C(单元格B2的值))”;
所以,如果我在B1单元格中输入1,在B2单元格中输入3,那么它应该加上A1和C1.i可以输入B1和B2单元格中的任何值,excel应该根据输入的值计算总和。
请建议如何构建这种类型的formulla。
直接在excel我们可以这样做: -
= INDIRECT(B1&安培; 1)+ INDIRECT(B2&安培; 1)
所以请建议我可以在r1c1 formulla中使用INDIRECT或建议其他方式。
答案 0 :(得分:0)
如果要在Excel中添加D1和E1,但是要根据特定单元格的值选择行;例如,在这种情况下,您可以使用A1和A2来放置要选择的行的值,然后您将使用如下公式:
= SUM(INDIRECT( “d” &安培; $ A $ 1),间接的( “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担任开发人员传播者。