雷林鵬分享:Apache POI公式

------------恢復內容開始------------

  本章將介紹如何使用Java編程應用不同單元公式的過程。 Excel應用程序的基本目的是通過應用公式就可以保持數值數據。

  在公式中,我們通過動態值,或在Excel工作表中的值的位置。在執行這個公式,就會得到想要的結果。下表列出了常用的在Excel中的幾個基本公式。

  操作語法

  添加多個數值= SUM(Loc1:Locn) or = SUM(n1,n2,)

  計數= COUNT(Loc1:Locn) or = COUNT(n1,n2,)

  兩個數的冪= POWER(Loc1,Loc2) or = POWER(number, power)

  多個數的最大值= MAX(Loc1:Locn) or = MAX(n1,n2,)

  乘積= PRODUCT(Loc1:Locn) or = PRODUCT(n1,n2,)

  階乘= FACT(Locn) or = FACT(number)

  絕對數字= ABS(Locn) or = ABS(number)

  今天的日期=TODAY()

  轉換成小寫= LOWER(Locn) or = LOWER(text)

  平方根= SQRT(locn) or = SQRT(number)

  以下代碼用於公式添加至單元格,並執行它。

  import java.io.File;

  import java.io.FileOutputStream;

  import org.apache.poi.xssf.usermodel.XSSFCell;

  import org.apache.poi.xssf.usermodel.XSSFRow;

  import org.apache.poi.xssf.usermodel.XSSFSheet;

  import org.apache.poi.xssf.usermodel.XSSFWorkbook;

  public class Formula

  {

  public static void main(String[] args)throws Exception

  {

  XSSFWorkbook workbook = new XSSFWorkbook();

  XSSFSheet spreadsheet = workbook.createSheet("formula");

  XSSFRow row = spreadsheet.createRow(1);

  XSSFCell cell = row.createCell(1);

  cell.setCellValue("A =" );

  cell = row.createCell(2);

  cell.setCellValue(2);

  row = spreadsheet.createRow(2);

  cell = row.createCell(1);

  cell.setCellValue("B =");

  cell = row.createCell(2);

  cell.setCellValue(4);

  row = spreadsheet.createRow(3);

  cell = row.createCell(1);

  cell.setCellValue("Total =");

  cell = row.createCell(2);

  // Create SUM formula

  cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);

  cell.setCellFormula("SUM(C2:C3)" );

  cell = row.createCell(3);

  cell.setCellValue("SUM(C2:C3)");

  row = spreadsheet.createRow(4);

  cell = row.createCell(1);

  cell.setCellValue("POWER =");

  cell=row.createCell(2);

  // Create POWER formula

  cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);

  cell.setCellFormula("POWER(C2,C3)");

  cell = row.createCell(3);

  cell.setCellValue("POWER(C2,C3)");

  row = spreadsheet.createRow(5);

  cell = row.createCell(1);

  cell.setCellValue("MAX =");

  cell = row.createCell(2);

  // Create MAX formula

  cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);

  cell.setCellFormula("MAX(C2,C3)");

  cell = row.createCell(3);

  cell.setCellValue("MAX(C2,C3)");

  row = spreadsheet.createRow(6);

  cell = row.createCell(1);

  cell.setCellValue("FACT =");

  cell = row.createCell(2);

  // Create FACT formula

  cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);

  cell.setCellFormula("FACT(C3)");

  cell = row.createCell(3);

  cell.setCellValue("FACT(C3)");

  row = spreadsheet.createRow(7);

  cell = row.createCell(1);

  cell.setCellValue("SQRT =");

  cell = row.createCell(2);

  // Create SQRT formula

  cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);

  cell.setCellFormula("SQRT(C5)");

  cell = row.createCell(3);

  cell.setCellValue("SQRT(C5)");

  workbook.getCreationHelper()

  .createFormulaEvaluator()

  .evaluateAll();

  FileOutputStream out = new FileOutputStream(

  new File("formula.xlsx"));

  workbook.write(out);

  out.close();

  System.out.println("fromula.xlsx written successfully");

  }

  }

  保存上面的代碼到文件Formula.java,然後編譯並從命令提示符如下執行它。

  $javac Formula.java

  $java Formula

  它會生成一個名爲formula.xlsx在當前目錄中的Excel文件並顯示在命令提示符處鍵入以下輸出。

  fromula.xlsx written successfully

  formula.xlsx文件如下所示。

Apache POI公式

(編輯:雷林鵬 來源:網絡|侵刪) 

------------恢復內容結束------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章