如何使用Apache POI选择并加粗整个工作表

mem*_*ore 10 java excel apache-poi

我是Apache POI库的初学者.

在VBA中,我知道我可以使用以下代码选择并加粗整个工作表

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1)
ws.Cells.Font.Bold = True
Run Code Online (Sandbox Code Playgroud)

我是否可以通过使用Apache POI库进行编码来了解如何选择和加粗整个工作表?

谢谢

Coo*_*ans 13

这个链接有一个很好的例子.

Sheet sheet = wb.createSheet("test");
CellStyle cs = wb.createCellStyle();
Font f = wb.createFont();
f.setBoldweight(Font.BOLDWEIGHT_BOLD);
cs.setFont(f);
sheet.setDefaultColumnStyle(1,cs); //set bold for column 1
Run Code Online (Sandbox Code Playgroud)

  • 同意,经过几次搜索后,似乎我只能对单元格加粗而没有其他内容(列只能设置将来在新添加的单元格中应用的默认样式) (2认同)

rom*_*ara 7

可以从索引0检索工作簿的默认字体.因此,要修改工作簿的字体粗体设置默认值:

private void setWorkbookDefaultFontToBold(Workbook workbook){
    Font defaultFont = workbook.getFontAt(0);
    defaultFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
}
Run Code Online (Sandbox Code Playgroud)

这是一个非常模糊的信息 - 它位于第二行中的setColumnWidth 的POI Sheet Javadoc中:

"...可以显示在使用标准字体格式化的单元格中(工作簿中的第一个字体)."

我没有必要大量使用它,所以它可能恰好为我工作(文档的位置和非普遍性让我对推荐取决于它有点小费)但它在某处你可以开始寻找