0

アプリケーションにデータを書き込むときの適切な setCellValue(Date/int/String/double) メソッド。

以下で説明するようにこのシナリオをテストしましたが、機能していないようです。ここで何か提案をいただければ幸いです。

  1. セル an_integer、a_decimal_number、a_date、および a_string を含むヘッダー行を持つ .xlsx テンプレートを作成しました。ヘッダーの各列を適切なタイプにフォーマットするには、列を右クリックして [セルの書式設定] を選択します。
  2. SXSSF API を使用し、データ 121、132.7612、2013 年 3 月 13 日、私は文字列を含む行を追加し、すべてのセルに setCellValue(String) メソッドを使用しました。列がフォーマットされているため、データがそれぞれのタイプに自動的に変換されることを期待していました。ただし、これは発生していないようで、生成された Excel ファイルは依然として数値と日付を文字列として扱います。

テンプレートの形式が間違っていましたか? 私がやろうとしていたことはまったく実行可能ですか?

4

1 に答える 1

2

のメソッドsetCellValue(String)XSSFCell、セルのセルの種類を に自動的に設定し、CELL_TYPE_STRING以前のセルの種類を上書きして、Excel がセル値をフォーマットする方法を変更します。

オーバーロードされたsetCellValueメソッドの 1 つを使用してみてください。それぞれが引数の型に従ってセルの型を設定します。

  • setCellValue(boolean) -CELL_TYPE_BOOLEAN
  • setCellValue(Calendar) - CELL_TYPE_NUMERIC(Excel は日付を数値として保存します)
  • setCellValue(Date) - CELL_TYPE_NUMERIC(Excel は日付を数値として保存します)
  • setCellValue(double) -CELL_TYPE_NUMERIC
  • setCellValue(RichTextString) -CELL_TYPE_STRING
  • setCellValue(String) -CELL_TYPE_STRING
于 2013-03-14T17:05:10.010 に答える