2011-06-09 62 views
0

我有要求从Excel表格中取出测试数据并将测试结果写入另一个Excel表格中的通过/失败。 我使用SeleniumRC + Java + Eclipse + Junit。使用Java写入excel文件时,无法更改文字的字体颜色

如何在使用Java写入Excel工作表时更改文本的字体颜色。

我正在使用Label,WorkBook,WritableWorkbook,WritableSheet,Sheet的帮助。

这里是我的示例代码..

import jxl.Sheet; 
import jxl.Workbook; 
import jxl.WorkbookSettings; 
import jxl.read.biff.BiffException; 
import jxl.write.Label; 
import jxl.write.WritableSheet; 
import jxl.write.WritableWorkbook; 
import jxl.write.WriteException; 

public class FinalTestSuite extends TestCase 
{ 
public static File file = new File("C:/Selenium/selenium-remote-control-1.0.3/TestingResult.xls"); 
public static File sourceFile = new File("C:/Selenium/selenium-remote-control-1.0.3/Portland.xls"); 
public static WorkbookSettings ws; 
public static WritableWorkbook workbook; 
public static WritableSheet wSheet1, wSheet2; 
public static Sheet sh1, sh2; 
public static Sheet sheetFinal; 
public static Workbook sourceWorkbook; 
public static Label label; 
} 


public void getTestResult(String passOrfail) throws IOException,BiffException, WriteException 

{ 
try 
{ 

FinalTestSuite.file = new File("C:/Selenium/selenium-remote-control-1.0.3/TestingResult.xls"); 
FinalTestSuite.sourceFile = new File("C:/Selenium/selenium-remote-control-1.0.3/TestDetails.xls"); 
FinalTestSuite.ws = new WorkbookSettings(); 
FinalTestSuite.workbook = Workbook.createWorkbook(FinalTestSuite.file, FinalTestSuite.ws); 
       FinalTestSuite.sourceWorkbook=Workbook.getWorkbook(FinalTestSuite.sourceFile); 
FinalTestSuite.sh1 = FinalTestSuite.sourceWorkbook.getSheet(0); 
FinalTestSuite.sh2= FinalTestSuite.sourceWorkbook.getSheet(1); 
FinalTestSuite.wSheet1 = FinalTestSuite.workbook.importSheet("Begin", 0 , FinalTestSuite.sh1); 
FinalTestSuite.wSheet2 = FinalTestSuite.workbook.importSheet("Reports", 0 , FinalTestSuite.sh2); 
colCount = FinalTestSuite.wSheet2.getColumns(); 

rowCount = FinalTestSuite.wSheet2.getRows(); 

       for(col=1;col<=colCount;col++) 
       { 

        for(row = 1;row<=rowCount;row++) 
        { 
         jxl.Cell dataCell = FinalTestSuite.wSheet2.getCell(col, 0); 

         if(clientName.equals(client)) 
         { 
          FinalTestSuite.label = new Label(col, row, passOrfail); 
          FinalTestSuite.wSheet2.addCell(FinalTestSuite.label); 
          break;       


         } 

        } 
       } 

     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 

请有人告诉我,我怎么可以修改它来获得与字体颜色为红色和绿色测试结果...

回答

0

利用WritableFont.setColour(Colour colour)时格式化您正在写入的单元格。基本知识请参阅this tutorial。该API应该足以知道如何为可用的格式化示例添加颜色。

+0

谢谢Wim ..它真的解决了问题.. WritableFont fontColor = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD); fontColor.setColour(Colour.RED); WritableCellFormat newFormat = new WritableCellFormat(fontColor); FinalTestSuite.wSheet2.addCell(new Label(col,row,contents,newFormat)); – sss 2011-06-09 15:31:28

+0

不客气。也许作为参考,你可以在编辑时将这段代码添加到原始文章中?干杯 – Wivani 2011-06-09 19:24:48