Apache POI(5):公式(formula)

来源:互联网 发布:我没有说话 知乎 编辑:程序博客网 时间:2024/06/02 15:49
package com.hthk.iisz.util;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 FormulaTest {public static void main(String[] args) throws Exception {formula();}public static void formula() throws Exception {XSSFWorkbook workbook = new XSSFWorkbook();XSSFSheet sheet = workbook.createSheet("formula");XSSFRow row = sheet.createRow(1);XSSFCell cell = row.createCell(1);cell.setCellValue("A =");cell = row.createCell(2);cell.setCellValue(2);row = sheet.createRow(2);cell = row.createCell(1);cell.setCellValue("B =");cell = row.createCell(2);cell.setCellValue(4);row = sheet.createRow(3);cell = row.createCell(1);cell.setCellValue("Total =");cell = row.createCell(2);// create sum formulacell.setCellType(XSSFCell.CELL_TYPE_FORMULA);cell.setCellFormula("SUM(C2:C3)");cell = row.createCell(3);cell.setCellValue("SUM(C2:C3)");row = sheet.createRow(4);cell = row.createCell(1);cell.setCellValue("POWER =");cell = row.createCell(2);// create power formulacell.setCellType(XSSFCell.CELL_TYPE_FORMULA);cell.setCellFormula("POWER(C2,C3)");cell = row.createCell(3);cell.setCellValue("POWER(C2,C3)");row = sheet.createRow(5);cell = row.createCell(1);cell.setCellValue("MAX =");cell = row.createCell(2);// Create MAX formulacell.setCellType(XSSFCell.CELL_TYPE_FORMULA);cell.setCellFormula("MAX(C2,C3)");cell = row.createCell(3);cell.setCellValue("MAX(C2,C3)");row = sheet.createRow(6);cell = row.createCell(1);cell.setCellValue("FACT =");cell = row.createCell(2);// Create FACT formulacell.setCellType(XSSFCell.CELL_TYPE_FORMULA);cell.setCellFormula("FACT(C3)");cell = row.createCell(3);cell.setCellValue("FACT(C3)");row = sheet.createRow(7);cell = row.createCell(1);cell.setCellValue("SQRT =");cell = row.createCell(2);// Create SQRT formulacell.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");}}

效果截图


0 0
原创粉丝点击