Apache POI を使用してデータを .xlsx ファイルにエクスポートしています。ファイルに含まれる行とセルの一部のスタイルを設定したいと考えています。
ファイルはExcel 2007以降で読み取られるため、XSSFを使用しています。
基本的に、私の問題は、次の例のように行スタイルを設定しようとしていることです。これは、インデックス 0 で行全体に黒の前景色を設定します。正常に動作しますが、新しいセルを作成するたびに、新しく作成された指定した行スタイルをオーバーライドしているかのように、セルにはスタイルがありません。
私がやっていることを示すコードスニペットは次のとおりです。
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("mySheet");
XSSFRow row = sheet.createRow(0);
XSSFCellStyle myStyle = wb.createCellStyle();
myStyle.setFillForegroundColor(new XSSFColor(new Color(255, 255, 255)));
myStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
row.setRowStyle(myStyle); //This works, the whole row is now black
row.createCell(0); // This cell doesn't have a style, the rest of the line stays stylized
row.getCell(0).setCellValue("Test");
*row.createCell(0, Cell.CELL_TYPE_STRING);* も試しましたが、何も変わりませんでした。
私がやりたいことを達成する正しい方法は何ですか? 同じ行のすべてのセルが同じスタイルを持つため、作成後に各セルのスタイルを設定する必要がなかったので、このようにしたかったのです。