0
我使用Apache POI来生成单元格,但我注意到它似乎将所有单元格设置为相同的值。在这种情况下,我不明白为什么。当我将我的工作表保存到文件中时,我可以看到单元格有值,但是在查看生成的文件时它是空的。任何帮助将不胜感激。Apache POI将单元格设置为0
这里是调试的屏幕时,我可以看到,某些细胞具有(在调试窗口,如“5”)的值:
这里是我使用的代码产生片:
@Override
public void generate(TableRepresentation tableRepresentation) {
int rows = tableRepresentation.getRows();
int columns = tableRepresentation.getColumns();
final HSSFWorkbook workbook = new HSSFWorkbook();
final HSSFSheet sheet = workbook.createSheet();
for (int i = 0; i < rows; i++) {
final HSSFRow row = sheet.createRow(i);
for (int j = 0; j < columns; j++) {
row.createCell(j).setCellValue(tableRepresentation.get(i, j));
}
}
try {
final FileOutputStream fos = new FileOutputStream("tjockis.xls");
workbook.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("tjockis.xls" + " written successfully");
}
public interface TableRepresentation {
int getRows();
int getColumns();
String get(int i, int j);
}
编辑:
如何导出表如下这里是:
那又有什么问题?最终仅限于其定义的范围。 –
@why_vincent即使仅限于第一次分配值时不能更改的范围。删除所有最终关键字并尝试。将最终关键字仅用于需要常量的地方 – Karthik
1:查看调试窗口,单元格具有不同的值。如果他们没有被分配到不同的值,那又怎么会发生? 2:试过你说的话,但它不会改变任何东西。 –