gpt4 book ai didi

java - Jxl细胞比对

转载 作者:搜寻专家 更新时间:2023-11-01 08:01:46 25 4
gpt4 key购买 nike

我想知道如何为 jxl 库中的单元格设置对齐方式,它的默认对齐方式是底部,当我为 WritableCellFormat 设置对齐方式时,它会抛出这个异常:

jxl.write.biff.JxlWriteException: Attempt to modify a referenced format

我这样设置对齐方式:

WritableFont tahomaboldpt = new WritableFont(WritableFont.TAHOMA, 10,WritableFont.BOLD);
tahomaBold = new WritableCellFormat(tahomaboldpt);
tahomaBold.setAlignment(Alignment.CENTRE);

这会在第三行抛出异常。提前致谢

最佳答案

当您想要在电子表格中创建或添加具有指定格式的单元格时,您需要创建一个 WritableCellFormat 对象并将其作为参数传递。

第 1 步:您可以从另一个单元格读取格式(就像下面的代码或自己创建一个新的),然后创建一个 WritableCellFormat 对象[下面代码中的新格式对象]

第 2 步:添加您想要的所有格式,例如背景、边框、对齐方式等,如下面的代码所示。

WritableCellFormat newFormat = null;
WritableSheet sheet = workbook.getSheet(0);
Cell readCell = sheet.getCell(column, row); //read format from another cell(if you want to copy its existing properties otherwise you can ignore).
WritableCellFormat cellFormatObj = new WritableCellFormat(
noBoldFont);
CellFormat readFormat = readCell.getCellFormat() == null ? cellFormatObj
: readCell.getCellFormat();
newFormat = new WritableCellFormat(readFormat);
newFormat.setBackground(Colour.WHITE);
newFormat.setBorder(jxl.format.Border.BOTTOM,jxl.format.BorderLineStyle.THIN);
newFormat.setAlignment(Alignment.CENTRE);

第 3 步:当您创建一个新单元格(或在 excel 中添加具有特定格式的单元格)时,将格式添加为参数。newFormat(WritableCellFormat objecT) 将是您要设置的新格式。

WritableSheet s = workbook.getSheet(0);
//column, row , where you wan the new format , note newFormat is passed as parameter.
s.addCell(new Label(column, row, request.getRuleId(), copyCellFormat(s, column,
newFormat)));

上述操作需要导入。

import jxl.Cell;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.CellFormat;
import jxl.format.Colour;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

关于java - Jxl细胞比对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370984/

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