我正在尝试用cfspreadsheet创建一个excel文件。在其中一列中,我有html代码,但由于某些原因,在excel文件中,html并没有呈现出来,它只是纯文本。例如:<b>blabla</b>,而不是加粗。
你知道解决这个问题的方法吗?
发布于 2012-12-18 01:57:01
这是因为POI是基于does not support html content的。
作为user1450455 mentions,您可以使用任何内置格式设置函数(如SpreadsheetFormatCell )设置整个单元格的格式。
sheet = spreadSheetNew();
spreadSheetFormatCell( sheet, {bold=true} , 1, 1 );
spreadSheetSetCellValue( sheet, "blablah", 1, 1 );如果您希望创建cells with multiple formats (即加粗一些字符,而不是其他字符),则只能通过创建一个RichTextString来使用底层POI库。所以它需要更低级别的代码。
<cfscript>
sheet = spreadSheetNew();
workbook = sheet.getWorkBook();
helper = workbook.getCreationHelper();
richText = helper.createRichTextString("ColdFusion");
// make first few characters bold ie "Cold"
firstFont = workbook.createFont();
firstFont.setBoldweight( firstFont.BOLDWEIGHT_BOLD );
richText.applyFont( 0, 4, firstFont );
// make next characters red ie "Fusion"
secondFont = workbook.createFont();
secondFont.setColor( secondFont.COLOR_RED );
richText.applyFont( 4, 10, secondFont );
// create cell via CF and apply formats
// note, in POI indexes are base 0
spreadSheetSetCellValue( sheet, "", 2, 1);
cellA2 = workbook.getSheetAt(0).getRow(1).getCell(0);
cellA2.setCellValue( richText );
</cfscript>https://stackoverflow.com/questions/13166522
复制相似问题