cell.getHyperlink().getLabel()
代わりに使用してください。ここでソースを確認して、.xls ファイルに存在する可能性のあるさまざまな種類のハイパーリンクを POI がどのように処理するかを確認してください。
編集
わかりました。ラベルが住所と一致しない場合、私たちの仕事は難しくなります。それは私にとって少しハックでした。したがって、HSSFHyperlink
クラスを調べてさまざまな列挙を表示すると、次のようなものが期待どおりhttp://www.google.com
の型になります。LINK_URL
のようなものhttp://www.bailii.org/databases.html#uk
は型に解決されLINK_DOCUMENT
ます。しかし、これはドキュメントではなく、URL です。classHyperlinkRecord
を調べると、245 行目の直前にコメントが表示されます。
Text describing a place in document. In Excel UI, this is appended to the address, (after a '#' delimiter). This field is optional. If present, the HLINK_PLACE must be set.
同じクラスの 699 行目のmakeHLINK_PLACE
はisDocumentLink
true を返すため、URL リンクではなくドキュメント リンクとして分類されます。
したがって、リンクに # が表示されるたびに、POI がそれをドキュメント内のリンクと見なすように設計された動作のように見えます。私がそれをバグと呼んでいるかどうかはわかりませんが、あなたが望むようには機能しません。