如何在Apache POI单元格中设置最小宽度?

我正在用Java编写一个工具,使用Apache POI API将XML转换为MS Excel。 我想将最小单元格宽度设置为100像素。

如何在单元格中设置自定义宽度?

我已经简单地使用了这个函数sheet.setColumnWidth(colIdx, width*256)来设置列的宽度,我的应用程序使用1 … n值的比例和* 256是必须要做的,看到好的结果。

这个示例代码列出了导入,我(可能)使用SXSSF序列化编写器,但POI文档有点难以理解所有的差异。 本示例首先打开一个基本的xlsx文件,然后将值写入数据表。 基本文件有一些我在Excel中创build的图表和表格,不想在POI中重新创build。

 import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.DataFormat; //import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Cell; //import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook; public void doIt() { OPCPackage opc = OPCPackage.open(file); XSSFWorkbook xwb = new XSSFWorkbook(opc); // (XSSFWorkbook)WorkbookFactory.create(file); SXSSFWorkbook wb = new SXSSFWorkbook(xwb, 500); //XSSFWorkbook wb = xwb; ...clip....do something... try { wb.dispose(); } catch (Exception e) { } try { opc.close(); } catch (Exception e) { } }