2

xls からデータを抽出して csv に保存するコードをいくつか書きました。時間の値がある場合を除いて、すべてがうまく機能しています。それは日付に変更されています。どうすればそれを回避できますか? たとえば、xls ファイルで 119:22:00 の場合、csv ファイルには 1900 年 1 月 4 日 23:23 としてフォーマット タイプが日付として保存されます。フォーマットを文字列としてそのままの状態に保つにはどうすればよいですか?

コードは次のとおりです。

if (sheet != null)
{
    for (currentRow = 0; currentRow < sheet.getRows(); currentRow++)
    {
        row = new ArrayList<String>();
        Cell[] rowCells = sheet.getRow(currentRow);
        for (Cell cell : rowCells)
        {
            System.out.println(cell.getContents());
        }
    }
}
4

1 に答える 1

0

書式設定された値を表示するには、Excel.Cell.Value ではなく Excel.Cell.Text を取得する必要があります。抽出しているのは明らかに値です。あなたのコードに基づいて、問題はcell.getContents()またはsheet.getRow()-Excelからデータを抽出するために使用されるものにあるようです。それらの関数の内容も投稿する必要があります。

Excel の日付と時刻の基になる値は扱いが非常に難しく、生の形式では初心者ユーザーには意味がありません。Excel シートを開いて一時的に形式をnumber. 日付または時刻を入力するとすぐに、その日付または時刻の数値表現に変換されることがわかります。これはユーザーにとって無意味です。フォーマットされたテキスト。

ここに画像の説明を入力

于 2012-04-20T16:05:51.567 に答える