我正在尝试使用POI用colunm设置setColumnWidth(rowindex, width)宽度,问题是宽度为两倍,并且上面的函数仅接受Int

我尝试使用autosizecolumn,但该列中仍然居住着人口不足的空间,我认为是Excel和Java之间的字体不匹配的问题



           RowTotal = NewSheet.createRow(0);
           cell1 = RowTotal.createCell(0);
           cell1.setCellValue("Row Name/Label");
           cell1 = RowTotal.createCell(1);
           cell1.setCellValue("Sum of premium payable");
           cell1 = RowTotal.createCell(2);
           cell1.setCellValue("Sum of arrears payable");

           NewSheet.setColumnWidth(0, 3755.84);
           NewSheet.setColumnWidth(1, 5519.68);;
           NewSheet.setColumnWidth(2, 5207.36);

最佳答案

您不能将double值传递给setColumnWidth以及autosizecolumn,因为Apache POI的两种方法都接受int值作为参数。
Apache POI的方法:
1. autoSizeColumn(int列)
   调整列宽以适合内容。
2. setColumnWidth(int columnIndex,int width)
   设置宽度(以字符宽度的1/256为单位)
您可以参考https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFSheet.html
更多细节。

09-25 21:40