在 Excel 中,我可以在一个单元格中拥有多种文本样式。有没有办法使用 JExcelApi 创建这样的文件?到目前为止我没有看到任何东西:setCellFormat 是 WritableCell 上的一种方法,似乎没有任何方法可以为单个单元格中的任何内容设置格式。
我只是想念它(很可能!),还是没有实现?
作为奖励:实施起来有多难?是否有任何其他 Excel 导出库可以实现这一点,我可以从中借用代码?
@Cosmic还有另一种阅读该问题的方法:单个单元格的不同区域中的多种格式。
比如:“斜体 粗体文本”与“斜体”和“粗体”设置为不同的样式,即分别为粗体而不是斜体。
这可以在 JExcelAPI 中完成吗?我不知道这一点。任何人?
有变量WritableSheet ws, int col, int row
以下代码会将您的单元格的字体设置为粗体。
WritableCell wc = ws.getWritableCell(col, row);
WritableCellFormat cf = wc.getCellFormat() != null ? new WritableCellFormat(wc.getCellFormat()) : new WritableCellFormat();
WritableFont wf = new WritableFont(cf.getFont());
try {
wf.setBoldStyle(WritableFont.BOLD);
// refer to http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/WritableFont.html for other text styles
cf.setFont(wf);
wc.setCellFormat(cf);
} catch ...
CellFormat/WritableCellFormat 包含许多不同的格式选项,例如字体、边框、背景颜色和换行。
所以,是的。你只是错过了它:p
编辑: 由于我说得不够清楚,对于多种样式,您可以在您的 上调用多种方法WritableFont
,例如setBoldStyle()
, setItalic()
, setUnderlineStyle()
, setStruckout()
,setColour()
等。