2011-10-12 35 views
0

我使用aspose excel導出。我正在設置.net中的formulla。使用aspose.cells動態設置求和公式中的列

我想在第三個單元格中的兩個單元格值的總和。 like

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使用間接或建議一些另一種方式。

回答

0

如果您想在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擔任開發人員傳道人。