スプレッドシート用の Java ライブラリ Apache POI を使用して、.xls (Excel) ファイルを生成する必要があります。
このファイルには、列 A に電話番号のリストが含まれ、"0221...." または "+49221..." の形式になっているため、Excel はデフォルトでそれらを数値セルとして解釈します。先頭の 0 または + が削除されるため、これは不適切です。
この問題を解決するには、 を使用できますcell.setCellType(Cell.CELL_TYPE_STRING)
。これは正常に機能しますが、これを設定した特定のセルに対してのみです。
この設定を列全体に適用するにはどうすればよいですか (つまり、ユーザーが追加の電話番号を入力する残りのすべてのセルにも)?
Excel では、これが可能です: 列全体を選択し、セルの種類を適用します (設定はファイルの保存/読み込み後も維持されます)。
しかし、POI の正しい方法が見つかりません。
- 最初に私が想定したのは、次のようなもの
sheet.setDefaultCellType(int colNum)
です。しかし、私はこのようなものを見つけることができません (おそらく私は盲目です? ライブラリには、「中央揃え」などのテキスト スタイルを適用するための同様の方法がたくさんあります)。 - それから私は考えました: NamedRangeなどにしか適用できないかもしれませんが、これがどのように機能するかはわかりません...