0

データを失うことなくExcelファイルから読み取る最良の方法は何ですか? ADO を使用して読み取ると、Excel シートの列が HH:MM:SS の形式になり、時間形式が日付に変更され、実際の値が失われます。

エクセルからのサンプル: ここに画像の説明を入力

グリッド ビューにインポートした後: ここに画像の説明を入力

コード:

        Try
        ' Clear the DataGridView and the connection string TextBox
        Dim Datatable As New DataTable("Sometable")
        ' Fill the DataGridView and connection string TextBox
        Using connection As New OleDb.OleDbConnection(Super.Excel_GetConnectionString(txtZDCalc_txtPerPath.Text, txtZDCalc_txtPerPath.Tag))
            connection.Open()
            Using adapter As New OleDb.OleDbDataAdapter("SELECT * FROM [" & cboxZDCalc_Sheet.SelectedItem & "]", connection)
                adapter.Fill(Datatable)
            End Using
        End Using

        Super.ZD_GetEmployees(Datatable)
    Catch ex As Exception
        ' Display any errors
        MessageBox.Show("[" & ex.[GetType]().Name & "] " & ex.Message & ex.StackTrace)
    End Try

インポート後に値が失われるのはなぜですか?

4

1 に答える 1

0

日付の代わりに TimeSpan を表示したいようです。Excel はセルの値を日時として保存し、書式設定を使用して表示方法を制御します。

やりたいことは、DataTable の列のデータ型を TimeSpan に変更することです。

これを行う方法については、こちらをご覧ください: DataTable の DataColumn の DataType を変更する方法は?

于 2013-03-14T22:11:19.830 に答える