2017-01-05 19 views
7

Coldfusion 10'u kullanarak, iki renkte bir hücre içeriğini biçimlendirmem gerekiyor (Siyah ve Mavi). E-tablodaki bir hücrenin "Metin1: Metin2" dizesini içermesine izin verin. "Text1" öğesinin renginin siyah olması ve "Text2" nin mavi olması gerekir. Aşağıdaki kodları denedim, ancak tüm mavi metinleri üretiyor. Ben tek hücreyi biçimlendirmek için iki renk uygulayabilirsiniz nasılColdfusion uygulamasında iki renkli hücrede bir metin biçimlendirin

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

?

cevap

6

Yerleşik işlevlerle desteklenmez. Ancak, temel POI kitaplığına dokunabilir ve bunu gerçekleştirmek için RichTextString kullanabilirsiniz. Uygun renklerle Workbook yatan ve oluşturmak yazı için

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

tut referansı:

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

Sonra RichTextString oluşturmak Zaten çalışma sayfası ve boş hücreyi oluşturduk varsayarsak

Nesnenin her bir parçasını istenen renge getirin ve ekleyin:

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

Son olarak, RichTextString'i boş hücreye, yani daha önce oluşturduğunuz A1'e uygulayın. CF'den farklı olarak, endeksler 0 temellidir.

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

Teşekkür ederim Leigh, Oldukça kullanışlı kodu. – Prak

+0

Yardım etmesine sevindim. – Leigh

İlgili konular