質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

5099閲覧

[Java]Apache POIを使いxlsxファイルにセルの中央まで真横に中央線を引きたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2015/05/29 06:50

編集2015/05/29 07:45

お世話になります。
またまた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(初期値?)が取得され、それぞれの行の高さの中央値が算出できませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2015/06/05 08:57

どのようなコードを実行した場合に、「全ての行について高さ19.5(初期値?)が取得された」のでしょうか?
guest

回答3

0

ベストアンサー

こんにちわ。
しばらく放置してしまいましたが、xlsxファイルでの利用をやめ、
xlsファイル一本でいくことにしました。

ご回答頂き、ありがとうございました。

投稿2015/07/22 23:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2015/05/29 07:11

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

関連しそうな情報があったので載せておきます。
POIで正方形を描画する

投稿2015/05/29 06:58

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問