Java 使用BigGridDemo设置POI中的列宽

Java 使用BigGridDemo设置POI中的列宽,java,excel,formatting,apache-poi,Java,Excel,Formatting,Apache Poi,我使用BigGridDemo作为POI示例,因为我必须生成包含一百万条记录的excel。但是,我无法在模板中设置列宽 我试过这个: XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("Big Grid"); //sheet.autoSizeColumn(0); sheet.setColumnWidth(0, 13); 它无法从template.xlsx获取格式 如果有人熟悉BigGr

我使用BigGridDemo作为POI示例,因为我必须生成包含一百万条记录的excel。但是,我无法在模板中设置列宽

我试过这个:

    XSSFWorkbook wb = new XSSFWorkbook();
    XSSFSheet sheet = wb.createSheet("Big Grid");

//sheet.autoSizeColumn(0);
sheet.setColumnWidth(0, 13);
它无法从template.xlsx获取格式

如果有人熟悉BigGridDemo,请帮助


谢谢

你不应该再使用BigGridDemo了!顾名思义,这是一种处理大型.xlsx文件的低内存写入的可能方法的演示


相反,您应该使用。SXSSF实现了BigGrid演示的思想,但提供了标准的POI电子表格接口,并实现了更多的格式。您可以查看当前对不支持内容的限制。

您应该尝试大于13的数字。例如,试试5000。有关详细信息,请参见api参考

但SXSSF不支持将工作簿渐进写入(servlet)输出流。它通过一次写入工作簿。BigGridDemo也不支持渐进式写入。不确定你会从中获得什么-你需要等到你完成填充工作表之后,才能确定有效文件所需的各种引用,所以没有机会将XLSX文件逐行写入CSV/文本文件?我指的是这个答案:不,如果你想要一行一行的,使用CSV。Excel在文件位之间有来回引用。您可以以流式方式生成部分文件,这就是SXSSF所做的,但不能生成整个文件