Apache POI公式 Apache POI字体 Apache POI超链接 本章将指导您使用Java编程在单元格上应用不同的公式。Excel应用程序的基本目的是通过在其上应用公式来维护数值数据。 在公式中,我们传递Excel工作表中值的动态值或位置。执行此公式时,您将获得所需的结果。下表列出了Excel中经常使用的一些基本公式。 Operation Syntax Adding multiple numbers = SUM(Loc1:Locn) or = SUM(n1,n2,) Count = COUNT(Loc1:Locn) or = COUNT(n1,n2,) Power of two numbers = POWER(Loc1,Loc2) or = POWER(number, power) Max of multiple numbers = MAX(Loc1:Locn) or = MAX(n1,n2,) Product = PRODUCT(Loc1:Locn) or = PRODUCT(n1,n2,) Factorial = FACT(Locn) or = FACT(number) Absolute number = ABS(Locn) or = ABS(number) Today date =TODAY() Converts lowercase = LOWER(Locn) or = LOWER(text) Square root = 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字体 Apache POI超链接