0

私は jxl api を使用して Excel シートを生成しています。このシートでは交互の行が強調表示されています。Excel の内容を並べ替えて手動で並べ替えると、セルの背景色がめちゃくちゃになります。通常、これはセルごとに色を書いているためです。とにかく、内容の並べ替えに影響を与えないように、生成中にExcelの交互の行に色を付ける方法はありますか。

4

1 に答える 1

0

RowView を使用してみましたか:

Sheet s = ...
Colour[] colorings = new Colour[]{Colour.GOLD, Colour.OCEAN_BLUE};
for(int i=0;i<s.getRows();i++){
  CellView rowView = s.getRowView(i);
  WritableCellFormat newFormat = new WritableCellFormat(rowView.getFormat());
  newFormat.setBackground(colorings[i%2]);
  rowView.setFormat(newFormat());
}

これはあなたが探している効果を達成するはずだと思います。上記の既存のフォーマットをコピーしたことに注意してください。ただし、行にまだフォーマットを適用していない場合は、2 つのフォーマットを作成して再利用できます。他の唯一の注意点は、特定のセルに適用された形式はビュー形式をオーバーライドすると信じているため、個々のセルが色が DEFAULT または AUTOMATIC になるようにフォーマットされていることを確認する必要がある場合があります (これについては完全にはわかりません。自分では試していません)。

于 2010-05-27T14:52:04.317 に答える