JavaライブラリApache POI for spreadsheetsを使用して.xls(Excel)ファイルを生成する必要があります。Apache POI for Excel:列全体のセルタイプを「テキスト」に設定する
ファイルには、 "0221 ...."または "+49221 ..."と書式設定された列Aの電話番号のリストが含まれているため、Excelはデフォルトで数値セルとして解釈します。先頭の0または+がトリミングされるため、これは悪いことです。
この問題を解決するには、cell.setCellType(Cell.CELL_TYPE_STRING)
を使用します。これはうまく動作しますが、これを設定した特定のセルに対してのみ有効です。
この設定は、列全体(つまり、ユーザーが追加の電話番号を入力する残りのすべてのセル)にどのように適用できますか? Excelで
、これは可能です:列全体を選択し、セルタイプを適用する(設定ファイルのロード/セーブ生き残っています。)
しかし、私はPOIのための正しい方法を見つけることができません。
- まず、私はそれが
sheet.setDefaultCellType(int colNum)
のようなものであると仮定しました。しかし、私はこれのようなものを見つけることができません(おそらく私は盲目でしょうか? "センターの整列"のようなテキストスタイルを適用するための図書館にはsimilar methodsがたくさんあります) - 私は考えました: NamedRangeなどと似ていますが、これがどのように機能するかはわかりません...
いいですね!私がプロジェクトに戻ったら、すぐにこの解決策を試してみましょう。ありがとう! –
これは機能します...ありがとう! – jahroy
私は同じことをしました。 var cllstyl = this.Workbook.CreateCellStyle(); varブック=新しいHSSFWorkbook(); var currDataFormat = workbook.CreateDataFormat(); cllstyl.DataFormat = currDataFormat.GetFormat( "@"); sheet.SetDefaultColumnStyle(1、cllstyl);しかし、それは "テキスト"形式を表示していない、代わりに "日付"を示しています。これで私を助けてください。 –