gpt4 book ai didi

java - 如何右对齐单元格中的 RichTextString?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:13 26 4
gpt4 key购买 nike

当我在数字单元格上设置对齐时,它会对齐,而当单元格是文本时,它不会对齐。

Workbook workbook = new XSSFWorkbook();
CreationHelper creationHelper = workbook.getCreationHelper();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);

// doesn't
Cell richTextCell = row.createCell(0);
RichTextString richTextString = creationHelper.createRichTextString("So rich!");
richTextCell.setCellValue(richTextString);
CellStyle richTextCellStyle = richTextCell.getCellStyle();
richTextCellStyle.setAlignment(CellStyle.ALIGN_RIGHT);

// works
Cell numberCell = row.createCell(1);
numberCell.setCellValue(12.34);
CellStyle numberCellStyle = numberCell.getCellStyle();
numberCellStyle.setAlignment(CellStyle.ALIGN_RIGHT);


FileOutputStream fileOutputStream = new FileOutputStream("workbook.xlsx");
try {
workbook.write(fileOutputStream);
} finally {
fileOutputStream.close();
}

最佳答案

我在使用 XSSFWorkbook 创建 .xlsx 工作簿时复制了此行为。有趣的是,当我更改为 HSSFWorkbook 时,行为发生了变化,两个单元格都正确对齐。

当我在 Excel 中打开 .xlsx 时,我仔细查看了它。指示“右对齐”的 Excel 工具栏按钮没有为任何一个单元格突出显示,即使数字看起来像右对齐。作为引用,工具栏按钮位于“主页”、“对齐”部分,看起来像这样(大特写):

________
______
________
______
________
______

但是,默认情况下,Excel 中的所有数字都已右对齐。它看起来像 .xlsx 工作簿,如果它是默认单元格样式,则不能只获取当前单元格样式并修改它。您必须创建一个新的 CellStyle,设置其属性,并为该单元格设置新的单元格样式。

以下代码适用于 .xls 和 .xlsx 工作簿。此外,它还只创建一个 CellStyle 对象,用于所有适用的单元格,展示了 CellStyle 对象的适当重用。

CellStyle rightAligned = workbook.createCellStyle();
rightAligned.setAlignment(CellStyle.ALIGN_RIGHT);

Cell richTextCell = row.createCell(0);
RichTextString richTextString = creationHelper.createRichTextString("So rich!");
richTextCell.setCellValue(richTextString);
richTextCell.setCellStyle(rightAligned);

Cell numberCell = row.createCell(1);
numberCell.setCellValue(12.34);
numberCell.setCellStyle(rightAligned);

关于java - 如何右对齐单元格中的 RichTextString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com