I'm using Apache POI 3.17 HSSF to create a spreadsheet with a formula that uses "IFERROR". Does anyone know why this version doesn't accept "IFERROR" and show @@...? Below is a simple code. If I use XSSF it works, but I wonder why HSSF shows @@....
pom.xml
...
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
</dependencies>
Main.java
public static void main(String[] args) throws Exception{
HSSFWorkbook w = new HSSFWorkbook();
HSSFSheet s = w.createSheet("test");
HSSFRow r = s.createRow(0);
HSSFCell c = r.createCell(0);
c.setCellFormula("IFERROR(1/0,-1)");
File f = new File("c:/temp/test.xls");
OutputStream o = new BufferedOutputStream(new FileOutputStream(f));
w.write(o);
o.flush();
o.close();
w.close();
}
question from:
https://stackoverflow.com/questions/65947655/apache-poi-3-17-hssf-not-accepting-iferror 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…