可能的致命错误:找不到字体 - 设置sheet.autoSizeColumn

时间:2014-01-21 11:24:04

标签: java tomcat7 apache-poi

我正在创建一个程序,使用apache poi将信息写入excel文件。所有工作正常,直到我使用

 sheet.autoSizeColumn(1);

添加此代码后。我正在获得例外 java.lang.Error: Probable fatal error:No fonts found

我研究了这个,发现它是因为没有fonts.if我评论上面的代码,每件事情都很好。我的问题是如何      sheet.autoSizeColumn函数与字体有关。我还需要安装字体,我使用的是Ubuntu 12.04.2,tomcat 7和java-6-openjdk-amd64 任何帮助将不胜感激

2 个答案:

答案 0 :(得分:4)

字符大小取决于所选的字体。例如,使用10pt Arial和10pt Times New Roman字体编写的相同短语的宽度是不同的。因此,要计算列的宽度,apache-poi应该知道您正在使用的字体。因此,您应该为要自动调整大小的每个单元格设置字体。这是一个例子:

CellStyle cellStyle = workbook.createCellStyle();
Font font = workbook.createFont();
font.setFontHeight(14.0);
//some additional font configuration
cellStyle.setFont(font);
//For each cell:
    cell.setStyle(cellStyle)

请注意,您只需创建一次cellStyle,然后将其应用于应具有此样式的每个单元格。

答案 1 :(得分:0)

在带有 zulu jdk 命令的 centos 上运行修复了我的问题。

yum install fontconfig -y
相关问题