Pra*_*rak 7 coldfusion spreadsheet cfspreadsheet
使用Coldfusion 10,我需要格式化两种颜色(黑色和蓝色)的单元格内容.让电子表格上的单元格包含字符串"Text1:Text2".其中"Text1"的颜色应为黑色,"Text2"的颜色应为蓝色.我尝试了下面的代码,但它产生了所有蓝色文本.
SpreadsheetAddRow(spreadsheetData,"Text1: Text2",1,1);
format1=StructNew();
format1.color="black";
SpreadsheetFormatRow(spreadsheetData,format1,1);
format1.color="blue";
SpreadsheetFormatRow(spreadsheetData,format1,1);
Run Code Online (Sandbox Code Playgroud)
我如何应用两种颜色来格式化单细胞?
内置函数不支持它.但是,您可以使用基础POI库并使用RichTextString来完成此任务.
假设您已经创建了工作表和一个空单元格:
spreadsheetData = SpreadSheetNew("Sheet1", true);
SpreadsheetAddRow(spreadsheetData,"",1,1);
Run Code Online (Sandbox Code Playgroud)
获取对底层工作簿的引用并使用适当的颜色创建字体:
wb = spreadsheetData.getWorkbook();
Colors = createObject("java", "org.apache.poi.ss.usermodel.IndexedColors");
greenFont = wb.createFont();
greenFont.setColor(Colors.GREEN.index);
blueFont = wb.createFont();
blueFont.setColor(Colors.BLUE.index);
Run Code Online (Sandbox Code Playgroud)
然后创建一个RichTextString对象,并用所需的颜色附加文本的每个部分:
// Using GREEN and BLUE for demo purposes
richString = createObject("java", "org.apache.poi.xssf.usermodel.XSSFRichTextString").init();
richString.append("Text1: ", greenFont);
richString.append("Text2", blueFont);
Run Code Online (Sandbox Code Playgroud)
最后,将RichTextString应用于空单元格,即您之前创建的A1.注意,与CF不同,索引是从0开始的.
cell = wb.getSheet("Sheet1").getRow( 0 ).getCell( 0 );
cell.setCellValue(richString);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |