2013-07-15 23 views
11

ヘッダーのフォントの色を白と塗りつぶしに変更するにはどうすればよいですか?これらは私が使用していたクラスです:テキストの色と塗りつぶしを変更するには

import static org.apache.poi.ss.usermodel.CellStyle.* 
import static org.apache.poi.ss.usermodel.IndexedColors.* 
import org.apache.poi.hssf.usermodel.* 
import org.apache.poi.hssf.usermodel.HSSFWorkbook 
import org.apache.poi.ss.usermodel.Cell 
import org.apache.poi.ss.usermodel.CellStyle 
import org.apache.poi.ss.usermodel.Row 
import org.apache.poi.ss.usermodel.Sheet 
import org.apache.poi.ss.usermodel.Workbook 
import org.apache.poi.ss.usermodel.Font 

そしてこれは、それを挿入する必要があります、私は信じて、コードです。

Font headerFont = wb.createFont(); 
headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD) 
CellStyle headerStyle = wb.createCellStyle() 
headerStyle.setFont(headerFont) 

cellMOPID.setCellStyle(headerStyle) 
cellType.setCellStyle(headerStyle) 
cellStatus.setCellStyle(headerStyle) 
cellState.setCellStyle(headerStyle) 
cellStartDate.setCellStyle(headerStyle) 
cellEndDate.setCellStyle(headerStyle) 
cellDesc.setCellStyle(headerStyle) 

答えて

9

単純なセルスタイルとして色を設定したい場合は、次のようなコードを書くことができます。

cell.setCellValue("Header Text"); 
XSSFCellStyle headerStyle = wb.createCellStyle(); 
Font headerFont = wb.createFont(); 
headerStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex()); 
headerFont.setColor(IndexedColors.WHITE.getIndex()); 
headerStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); 
headerStyle.setFont(headerFont); 
cell.setCellStyle(headerStyle); 

これは緑色で細胞を記入し、フォントは、私は次のことをチェックして、私の側で正常に動作しているXLSファイルのために大胆な白の各色の

+0

XSSFCellStyleはどのjarファイルにありますか?これは私が必要なもののように見えます! –

+0

私はapache poi 3.9を使用しています。 XSSFCellStyleはorg.apache.poi.xssf.usermodel.XSSFCellStyleにあります – Sankumarsingh

+0

ドキュメントの先頭にorg.apache.poi.xssf.usermodel.XSSFCellStyleをインポートしますが、「org.apache.poiクラスを解決できません。 .xssf.usermodel.XSSFCellStyle "というメッセージが表示されます。私はそれがないということですか? –

11
 HSSFCellStyle cellStyle = workBook.createCellStyle();   
    HSSFFont font = wb.createFont(); 
    font.setFontName(XSSFFont.DEFAULT_FONT_NAME); 
    font.setFontHeightInPoints((short)10); 
    font.setColor(IndexedColors.BLUE.getIndex()); 
    cellStyle.setFont(font); 
    //the version i am using is poi-3.8 
8

になります。

Iは、以下をインポートする必要があります

import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.ss.usermodel.CellStyle; 
import org.apache.poi.ss.usermodel.Font; 
import org.apache.poi.ss.usermodel.IndexedColors; 

とコードの一部は以下の通りである:

FileInputStream fin = new FileInputStream (XLSFileAddress); 
    HSSFWorkbook wb = new HSSFWorkbook(fin); 
    HSSFCell cell=wb.getSheetAt(2).getRow(0).getCell(0); 
    cell.setCellValue("Header Text"); 
    Font headerFont = wb.createFont(); 
    headerFont.setBoldweight(Font.BOLDWEIGHT_BOLD); 
    CellStyle headerStyle = wb.createCellStyle(); 
    headerStyle.setFont(headerFont); 
    headerStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex()); 
    headerFont.setColor(IndexedColors.WHITE.getIndex()); 
    headerStyle.setFillPattern(CellStyle.SOLID_FOREGROUND); 
    cell.setCellStyle(headerStyle); 
    FileOutputStream fileOut = new FileOutputStream(XLSFileAddress); 
    wb.write(fileOut); 
    fileOut.close(); 

このコードの出力は、インデックス2にシートの最初の行の最初のセルであり、 "ヘッダーテキスト"セルの色が緑、テキストの色が白で太字のフォントと表示されます。

私はapache3.9を使用しています。

関連する問題