POI を使用して xls-document に形状 (具体的には円) を追加する必要があります。だから、私は次のコードを書きました:
private void drawLabel(HSSFSheet sheet, HSSFCell cell) {
final short columnIndex = (short) cell.getColumnIndex();
final int rowIndex = cell.getRowIndex();
HSSFClientAnchor anchor = new HSSFClientAnchor(60, 60, 200, 200, columnIndex, rowIndex, columnIndex, rowIndex);
anchor.setAnchorType(ClientAnchor.MOVE_DONT_RESIZE);
HSSFSimpleShape shape = sheet.getDrawingPatriarch().createSimpleShape(anchor);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);
...
}
できます。しかし、プログラムで列幅を変更しようとすると (たとえばsheet.setColumnWidth(0, 5 * 256);
、列インデックス == 0 のセルに形状が追加されたとします)、円が歪んで楕円のようになります (ただし、アンカーのタイプは に設定されていMOVE_DONT_RESIZE
ます)。私のアプローチの何が問題なのですか?対応するセルと一緒にサイズが変更されない形状を描画する方法はありますか?