我有一个Excel文件,其中包含使用POISSON的公式。在excel中工作正常,但是我们有一个Java程序可以使用apache POI读取excel文件中的值。公式为何无效?
答案 0 :(得分:1)
使用apache poi 4.0.1
POISSON
函数可以很好地用作Excel
公式。
示例:
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
class CreateExcelFormula {
public static void main(String[] args) throws Exception {
try (Workbook workbook = new XSSFWorkbook();
FileOutputStream fileout = new FileOutputStream("Excel.xlsx") ) {
Sheet sheet = workbook.createSheet();
sheet.createRow(0).createCell(0).setCellValue(2);
sheet.createRow(1).createCell(0).setCellValue(5);
sheet.createRow(2).createCell(0).setCellFormula("POISSON(A1,A2,TRUE)");
FormulaEvaluator formulaEvaluator = workbook.getCreationHelper().createFormulaEvaluator();
DataFormatter dataFormatter = new DataFormatter(java.util.Locale.US);
String cellValue = dataFormatter.formatCellValue(sheet.getRow(2).getCell(0), formulaEvaluator);
System.out.println(cellValue);
workbook.write(fileout);
}
}
}
此打印
axel@arichter:~/Dokumente/JAVA/poi/poi-4.0.1$ javac -Xlint:deprecation -Xlint:unchecked -cp .:./*:./lib/*:./ooxml-lib/* CreateExcelFormula.java
axel@arichter:~/Dokumente/JAVA/poi/poi-4.0.1$ java -cp .:./*:./lib/*:./ooxml-lib/* CreateExcelFormula
0.1246520195
结果Excel.xlsx
在单元格=POISSON(A1,A2,TRUE)
中包含公式A3
。