2017-04-18 2 views
0
XSSFCellStyle xssfCellStyle = (XSSFCellStyle) cellStyle; 
     xssfCellStyle.setFillForegroundColor(new XSSFColor(color)); 
     xssfCellStyle.setFillPattern(XSSFCellStyle.DIAMONDS); 

は、私は私のエクスポート用に設定することができるよ、ねえのApache POI

エクセル作成するための効果を埋める追加し、すべてのパターンのスタイルを得意と、私はExcelから到達することができますが、どのように私は、「塗りつぶし効果を設定することができます... "via apache poi。可能性はありますか?

はあなたの助けありがとうございまし

PS:写真は、私がパターンスタイルによって何を意味するか、を示すと効果

picture of excel: format cell editor

答えて

1

を埋めるのApache POIは、現在、「塗りつぶし効果をサポートしていません。 .. "と呼ばれています。

しかし、仕様から生成された低レベルのAPIは、これらの設定を可能にする必要がありますが、MSドキュメントの仕様に基づいて、または小さなサンプルスプレッドシートを作成し、 .xlsxの中にxl\styles.xml(実際には簡単なzipファイルです!)。

 final CellStyle cellStyle = wb.createCellStyle(); 
     //cellStyle.setFillPattern(FillPatternType.ALT_BARS); 

     XSSFCellFill fill = new XSSFCellFill(CTFill.Factory.newInstance()); 
     final CTGradientFill ctGradientFill = fill.getCTFill().addNewGradientFill(); 
     ctGradientFill.setDegree(45); 
     // ... 
     ((XSSFWorkbook)wb).getStylesSource().putFill(fill); 

     cell.setCellStyle(cellStyle); 

注:必要になります

そして、次のようなものは、あなたがしたい塗りつぶしの種類に応じて、ctGradienFill上の実際の呼び出しで、あなたが必要なXML構造を構築できるようにする必要があります追加のCTGradientFillクラスを取得するには、http://poi.apache.org/faq.html#faq-N10025で説明されているように完全なスキーマジャーが必要です。

+0

うわー、まだそんなに学びました。 :) 7zipを持つの.xlsxファイルを開くことが素晴らしいのstyles.xml に追加されましたが、私は私のいずれかにこれを追加する方法のアイデアを、得ることはありませんcellStyles ... :( – unknown404

関連する問題