2017-01-05 20 views
7

Coldfusion 10을 사용하여 두 가지 색상 (검정색과 파란색)으로 셀 내용을 포맷해야합니다. 스프레드 시트의 셀에 "Text1 : Text2"문자열이 포함되도록합니다. "Text1"의 색상은 검은 색이어야하고 "Text2"는 파란색이어야합니다. 코드 아래에서 시도했지만 모든 파란색 텍스트가 생성됩니다. 내가 단일 셀 서식을 두 가지 색상을 적용 할 수있는 방법을Coldfusion에서 두 가지 색상의 셀에 텍스트 서식 지정

SpreadsheetAddRow(spreadsheetData,"Text1: Text2",1,1); 
format1=StructNew(); 
format1.color="black"; 
SpreadsheetFormatRow(spreadsheetData,format1,1); 
format1.color="blue"; 
SpreadsheetFormatRow(spreadsheetData,format1,1); 

Example of Cell Text with Two Colors

?

답변

6

내장 기능은 지원되지 않습니다. 그러나 기본 POI 라이브러리를 활용하고 RichTextString을 사용하여이를 수행 할 수 있습니다. 적절한 색상으로 Workbook를 기본 만들 글꼴

spreadsheetData = SpreadSheetNew("Sheet1", true); 
SpreadsheetAddRow(spreadsheetData,"",1,1); 

잡아 참조 :

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); 

는 그런 다음 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); 

마지막으로 RichTextString을 빈 셀 (예 : 이전에 만든 A1)에 적용합니다. CF와 달리 인덱스는 0을 기준으로합니다.

cell = wb.getSheet("Sheet1").getRow(0).getCell(0); 
cell.setCellValue(richString); 
+0

감사합니다. Leigh, 그 매우 유용한 코드입니다. – Prak

+0

도움이 되니 기쁩니다. – Leigh