Apache POI XSSF ExcelのIndexedColorsにない色を使用する方法

アレクシスヘルナンデス:

複製したいExcelシートを探しています。唯一の問題は色です。私が複製しようBlue, Accent 5, Lighter 40%Light Greenしている色は、Standard Colorsセクションからのものです。XSSFワークブックでカスタムカラーを使用するためドキュメント見ており、その方法は次のようになっています。

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
XSSFRow row = sheet.createRow(0);
XSSFCell cell = row.createCell(0);
cell.setCellValue("custom XSSF colors");

XSSFCellStyle style1 = wb.createCellStyle();
style1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128), new DefaultIndexedColorMap()));
style1.setFillPattern(FillPatternType.SOLID_FOREGROUND);

使用しようとするstyle1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128), new DefaultIndexedColorMap()));と、エラーが発生します。これは、.setFillForegroundColor()1つのパラメーターしか受け取らない唯一のパラメーターであり、それはであり、ではshortありませんXSSFColor

誰かがこれで運がありましたか?私は何時間も探していましたが、8歳でないものや機能しないものは何も見つかりません。

アクセルリヒター:

currentを使用apache poi 4.1.1すると、にpublic void setFillForegroundColor(XSSFColor color)がありXSSFCellStyleます。

XSSFColorコンストラクタを使用して作成されなければならない公共XSSFColor(バイト[] RGB、IndexedColorMapカラーマップ)を他のすべてのコンストラクタはいずれかの非推奨またはマークされているため、TEST ONLYまたはカスタムカラーを作成するため使用できません。

RGB必要に応じて色の値から得たことができExcel、パレットから色を設定することで、次に選びますFill Color- - More Colors Customあいにくapache poiIndexedColorsは何より正確に現在の色ではないExcelバージョン。それらはバージョン2007です。したがって、それらも使用できますが、その後のExcelバージョンでは異なる色が表示される場合があります。

currentを使用した完全な例apache poi 4.1.1

import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.*;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFColor;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.DefaultIndexedColorMap;

public class CreateExcelXSSFCellFillColor {

 public static void main(String[] args) throws Exception {
  XSSFWorkbook workbook = new XSSFWorkbook();

  java.util.List<XSSFCellStyle> cellStyles = new java.util.ArrayList<XSSFCellStyle>();
  XSSFCellStyle cellStyle; byte[] rgb; XSSFColor color;

  //Your custom color #800080
  //create cell style on workbook level
  cellStyle = workbook.createCellStyle();
  //set pattern fill settings
  cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
  //create the RGB byte array
  rgb = new byte[3];
  rgb[0] = (byte) 128; // red
  rgb[1] = (byte) 0; // green
  rgb[2] = (byte) 128; // blue
  //create XSSFColor
  color = new XSSFColor(rgb, new DefaultIndexedColorMap());
  //set fill color to cell style
  cellStyle.setFillForegroundColor(color);

  cellStyles.add(cellStyle);

  //Light Green
  cellStyle = workbook.createCellStyle();
  cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
  rgb = new byte[3];
  rgb[0] = (byte) 146; // red
  rgb[1] = (byte) 208; // green
  rgb[2] = (byte) 80; // blue
  color = new XSSFColor(rgb, new DefaultIndexedColorMap());
  cellStyle.setFillForegroundColor(color);
  cellStyles.add(cellStyle);

  //Blue, Accent 5, Lighter 40%
  cellStyle = workbook.createCellStyle();
  cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
  rgb = new byte[3];
  rgb[0] = (byte) 155; // red
  rgb[1] = (byte) 194; // green
  rgb[2] = (byte) 230; // blue
  color = new XSSFColor(rgb, new DefaultIndexedColorMap());
  cellStyle.setFillForegroundColor(color);
  cellStyles.add(cellStyle);

  Sheet sheet = workbook.createSheet();
  for (int r = 0; r < cellStyles.size(); r++) {
   Row row = sheet.createRow(r);
   row.setHeight((short)(20*20));
   Cell cell = row.createCell(0);
   cell.setCellValue("cell style " + (r+1));
   cell.setCellStyle(cellStyles.get(r));
  }
  sheet.setColumnWidth(0, 20*256);

  FileOutputStream out = new FileOutputStream("CreateExcelXSSFCellFillColor.xlsx");
  workbook.write(out);
  out.close();
  workbook.close();
 }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ApacheのPOI - CellDataFormat例外

分類Dev

Apache POI-HSSFとPOI-XSSF

分類Dev

Apache POIを使用してExcelのXSSFシートにファイルを埋め込む

分類Dev

関数式Apache POIを取得する方法

分類Dev

インポートorg.apache.poi.xssfを解決できません

分類Dev

Apache POIはXSSFよりHSSFを使用した方がはるかに高速です-次は何ですか?

分類Dev

Apache Poiの数式でExcelを保存する方法は?

分類Dev

Java Apache POIを使用してExcelに行を挿入する

分類Dev

Apache POIを使用して特定のExcel列を読み取る方法

分類Dev

特定のセルのapache poi 3.9のフォント色を変更する方法

分類Dev

POI XSSFワークブックのマージされた領域に境界線を追加する

分類Dev

Java用Apache POIの学習

分類Dev

Apache POI、XSSFとHSSFの両方を使用

分類Dev

XSSF POIはセル日付です

分類Dev

Apache POIを使用してHSSFWorkbookをXSSFWorkbookに変換する方法

分類Dev

Apache POI:Excelファイルに列を挿入する方法

分類Dev

Apache POI XSSFを使用して右から左に配置するシートを作成する方法

分類Dev

Apache POI HSSF / XSSFからXLS / XLSXへのマッピング

分類Dev

Excelコメントの背景画像を.xlsx形式(Apache POI XSSF)で挿入する方法は?

分類Dev

org.apache.poiの例外

分類Dev

ファクトリorg.apache.poi.xssf.usermodel.XSSFWorkbookFactoryと引数で「createWorkbook」を呼び出そうとしているとき

分類Dev

Apache POIを使用してaltChunk要素をXWPFDocumentに追加する方法

分類Dev

Apache POIとXMLConstantsの競合

分類Dev

Apache POI-NoclassDefErrorを与える

分類Dev

Apache POI散布図の作成

分類Dev

Apache POISXSSFおよびXSSF

分類Dev

How to auto adjust the column in excel in apache POI

分類Dev

Java Apache poi:セルの色に優れています

分類Dev

メディアtype = application / octet-stream、type = classorg.apache.poi.xssf.usermodel.XSSFWorkbookのMessageBodyWriterが見つかりません

Related 関連記事

  1. 1

    ApacheのPOI - CellDataFormat例外

  2. 2

    Apache POI-HSSFとPOI-XSSF

  3. 3

    Apache POIを使用してExcelのXSSFシートにファイルを埋め込む

  4. 4

    関数式Apache POIを取得する方法

  5. 5

    インポートorg.apache.poi.xssfを解決できません

  6. 6

    Apache POIはXSSFよりHSSFを使用した方がはるかに高速です-次は何ですか?

  7. 7

    Apache Poiの数式でExcelを保存する方法は?

  8. 8

    Java Apache POIを使用してExcelに行を挿入する

  9. 9

    Apache POIを使用して特定のExcel列を読み取る方法

  10. 10

    特定のセルのapache poi 3.9のフォント色を変更する方法

  11. 11

    POI XSSFワークブックのマージされた領域に境界線を追加する

  12. 12

    Java用Apache POIの学習

  13. 13

    Apache POI、XSSFとHSSFの両方を使用

  14. 14

    XSSF POIはセル日付です

  15. 15

    Apache POIを使用してHSSFWorkbookをXSSFWorkbookに変換する方法

  16. 16

    Apache POI:Excelファイルに列を挿入する方法

  17. 17

    Apache POI XSSFを使用して右から左に配置するシートを作成する方法

  18. 18

    Apache POI HSSF / XSSFからXLS / XLSXへのマッピング

  19. 19

    Excelコメントの背景画像を.xlsx形式(Apache POI XSSF)で挿入する方法は?

  20. 20

    org.apache.poiの例外

  21. 21

    ファクトリorg.apache.poi.xssf.usermodel.XSSFWorkbookFactoryと引数で「createWorkbook」を呼び出そうとしているとき

  22. 22

    Apache POIを使用してaltChunk要素をXWPFDocumentに追加する方法

  23. 23

    Apache POIとXMLConstantsの競合

  24. 24

    Apache POI-NoclassDefErrorを与える

  25. 25

    Apache POI散布図の作成

  26. 26

    Apache POISXSSFおよびXSSF

  27. 27

    How to auto adjust the column in excel in apache POI

  28. 28

    Java Apache poi:セルの色に優れています

  29. 29

    メディアtype = application / octet-stream、type = classorg.apache.poi.xssf.usermodel.XSSFWorkbookのMessageBodyWriterが見つかりません

ホットタグ

アーカイブ