お世話になります。
またまたApache POIの質問になりますが、よろしくお願いいたします。
###やりたいこと
- xlsxファイルでセルの中央まで真横に中央線を引きたい。
![イメージ説明]WIDTH:360
###調査した結果
直線描画の座標指定の際、
xlsファイルであればHSSFClientAnchor
へ、
xlsxファイルであればXSSFClientAnchor
のインスタンスに座標指定するのですが、
それぞれの仕様が異なります。
HSSFClientAnchor
の場合、横1~1023、縦1~255の間でセットすると、その割合によってセル上に描画されます。
こちらのパターンはうまくいっています。
lang
1// 上記図のような線の座標設定 2HSSFClientAnchor anchor = new HSSFClientAnchor( 30, // 起点の横方向端の座標 4127, // 起点の縦方向真ん中の座標 5512, // 終点の横方向真ん中の座標 6127,・・・); // 終点の縦方向真ん中の座標
XSSFClientAnchor
の場合、HCCFClientAnchor
と仕様が異なり、
横、縦共に直にポイントまたはピクセルを指定するようで、上記図のように中央に線を引くことができませんでした。
行の高さを取得し、そこから求める方法も試しましたが、
行の高さは、入力されている文字によってExcelファイルオープン時自動調整されているようで、正しい高さを取得することができず(常に初期値?が取得されます)、縦中央に線を引くことはできませんでした。
###質問
xlsxファイルの座標指定も、xlsファイルの座標指定のように割合指定できるような機能をご存じではないでしょうか?
また、他にどのような方法がありますでしょうか?
長文になりましたが、よろしくお願いいたします。
###追記
お教え頂いたサイトは、引数にどのような数値をセットすればよいか解説されているサイトかと存じます。
調査した結果にも書かせて頂きましたが、行の正しい高さが取得できない為、中央値が算出でない状態にあります。
↓サンプル図
![イメージ説明]WIDTH:398
上記図のサンプルで、行の高さから中央値を算出しセットしようと考えましたが、全ての行について高さ19.5(初期値?)が取得され、それぞれの行の高さの中央値が算出できませんでした。
回答3件
あなたの回答
tips
プレビュー