我使用 apache poi 构建了一个 java 应用程序。 这是一个简单的 swing gui 应用程序,它使用 apache poi 库生成 excel。生成工作表后,我设置了自动调整列,当我使用 RAD 运行应用程序时,它工作得很好。现在我已经生成了可运行的jar(这是我的要求)并且它生成了excel但是第二列之后的所有列都隐藏在彼此后面。
我删除了自动调整大小列,并且列没有隐藏在彼此后面。但我希望我的列根据文本自动调整大小。请告诉我使用自动调整大小的正确方法是什么。以及为什么它在 RAD 中工作而不是在可运行的 jar 中工作。
我知道这是字体问题。我删除了设置字体名称的行,效果很好。现在我的问题是如何使用 Calibri 字体。请帮忙。
这是我编写Excel的代码:
public class Excel {
HSSFWorkbook wb;
HSSFFont head, defFont;
public Excel() {
wb = new HSSFWorkbook);
//create header font to use Calibri and bold text
//create default font to use Calibri and normal text
}
public void sheetGen() {
HSSFSheet sheet = wb.creatSheet("sheet1");
//create style
//create each row and column
for (int i = 1; i < 9; i++) {
if (i != 2)
sheet.autoSizeColumn(i); //this is not working in runnable jar
}
//write workbook
}
}
最佳答案
在某些平台上,Calibri
是第三方字体;例如,它包含在 Mac OS X 上的 Microsoft Office 中。相反,请使用五个 font families 中所需的逻辑字体。由Java平台定义。例如,
标题:新字体(Font.SansSerif,Font.BOLD | Font.ITALIC,14)
默认:新字体(Font.Serif, Font.PLAIN, 12)
关于java - 当我在 apache poi 库中使用 Calibri 字体时,可运行 jar 中的列宽无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24156372/