如何使用Apache POI使整个excel行单元格加粗文本?
例如:
列标题应该用粗体。与其为标题行的每个单元格应用样式,我如何将一些样式应用于整行?
这对我管用
我在前面设置了样式的字体,并使行标题正常,然后在每个行标题单元格上设置了粗体字体的样式循环。瞧,第一行是粗体的。
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("FirstSheet");
HSSFRow rowhead = sheet.createRow(0);
HSSFCellStyle style = wb.createCellStyle();
HSSFFont font = wb.createFont();
font.setFontName(HSSFFont.FONT_ARIAL);
font.setFontHeightInPoints((short)10);
font.setBold(true);
style.setFont(font);
rowhead.createCell(0).setCellValue("ID");
rowhead.createCell(1).setCellValue("First");
rowhead.createCell(2).setCellValue("Second");
rowhead.createCell(3).setCellValue("Third");
for(int j = 0; j<=3; j++)
rowhead.getCell(j).setCellStyle(style);
请找到以下简单方法:
XSSFCellStyle style = workbook.createCellStyle();
style.setBorderTop((short) 6); // double lines border
style.setBorderBottom((short) 1); // single line border
XSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short) 15);
font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
Row row = sheet.createRow(0);
Cell cell0 = row.createCell(0);
cell0.setCellValue("Nav Value");
cell0.setCellStyle(style);
for(int j = 0; j<=3; j++)
row.getCell(j).setCellStyle(style);
这应该行得通。
Workbook wb = new XSSFWorkbook("myWorkbook.xlsx");
Row row=sheet.getRow(0);
CellStyle style=null;
XSSFFont defaultFont= wb.createFont();
defaultFont.setFontHeightInPoints((short)10);
defaultFont.setFontName("Arial");
defaultFont.setColor(IndexedColors.BLACK.getIndex());
defaultFont.setBold(false);
defaultFont.setItalic(false);
XSSFFont font= wb.createFont();
font.setFontHeightInPoints((short)10);
font.setFontName("Arial");
font.setColor(IndexedColors.WHITE.getIndex());
font.setBold(true);
font.setItalic(false);
style=row.getRowStyle();
style.setFillBackgroundColor(IndexedColors.DARK_BLUE.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
style.setAlignment(CellStyle.ALIGN_CENTER);
style.setFont(font);
如果不创建defaultFont
,则所有工作簿都将使用另一个作为默认值。
问题内容: 我正在使用Apache pdfbox提取文本。我可以从pdf中提取文本,但我不知道该单词是否为粗体?(代码建议会很好!!!)这是从pdf提取纯文本的代码,可以正常工作。 问题答案: 的结果是纯文本。因此,将其提取后为时已晚。但是,您可以覆盖某些方法,只允许根据您的意愿格式化的文本通过。 在这种情况下,您必须覆盖 在您的替代中,您检查所讨论的文本是否满足您的要求(包含有关所讨论文本的很多
我使用Apache pdfbox来提取文本。我可以从pdf中提取文本,但我不知道如何知道这个词是否加粗???(代码建议很好!!!)下面是从pdf中提取纯文本的代码,效果很好。
我正在尝试在itext 5中使用TextField。我的字体名是“微軟正黑體英文是“Microsoft JhengHei”。我想用粗体和黑色的字体。 初始化字体(3是字体。BOLD|字体。ITALIC和BC是我的基本颜色) 我有一个文本字段变量,并将fontZh设置为setFont。 pdf结果只有字体样式、大小和颜色是正确的。但这种大胆和不自然是行不通的。
现在我有一个docx文件,我加载到 我可以看到存储在style中的不同样式的当前字体大小。通过做xml 我想用poi更新字体大小,所以我试了一下 但是,在完成上述代码后,如果我使用第一段代码检查文档的字体大小(object),字体大小仍然是原始值,而不是我想要设置的12。 对于如何解决这个问题,有什么建议吗?
我可以用代码设置文本粗体: 是的,cell有粗体风格,但它有另一种字体。它有(尺寸:11)。如果我创建没有样式的单元格,我会得到这个单元格:(大小:10)。 好吧,那我试试别的方法: 没有区别。我得到(尺寸: 11)。 但为什么呢?我怎样才能修复它?我希望所有单元格(加粗或不加粗)具有相同的字体名称和大小。我不想手动设置字体。
我使用irport 3.1.0,在从ireport生成预览时,所有样式(粗体、斜体)都可以工作,但在从web应用程序调用时,所有内容都以纯文本形式出现。