1

Excelファイルから取得した時間値を文字列にフォーマットしてから、SQLテーブルに挿入する必要があります。私はこのコードを使用しました:

dtTruck = string.Format(dtTruck, "Long Time");
dtPlane = string.Format(dtPlane, "Long Time");

これは、プロジェクトを初めて実行したときの dtTruck フィールドでのみ機能しました。したがって、これは値をまったくフォーマットしていません。この07:00の代わりに、この0,29166666667として時間値を文字列としてSQLテーブルに挿入します

私のコード:

public void ReadExcelFile()
{
    string filename = @"C:\Temp\Copy2.xlsx";
    using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\""))
    {
        try
        {
            connection.Open();
            string sqlCmd1 = "SELECT  * FROM [Sheet1$]";
            using (OleDbCommand command = new OleDbCommand(sqlCmd1, connection))
            {
                command.CommandType = System.Data.CommandType.Text;
                using (OleDbDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        alias = "" + reader[3];
                        codeT = "" + reader[4];
                        dtTruck = "" + reader[5];
                        codeP = "" + reader[6];
                        dtPlane = "" + reader[7];
                        dtDealer = "" + reader[8];

                        dtTruck = string.Format(dtTruck, "Long Time");
                        dtPlane = string.Format(dtPlane, "Long Time");

                        SearchForAdrIDAndCustID(Convert.ToString(reader[0]), Convert.ToString(reader[3]));
                        InsertData(custID, "" + reader[3], adrID, dtTruck, codeT, dtPlane, codeP, dtDealer);
                    }
                }
            }

        }
        catch (Exception exception)
        {
            Console.WriteLine("ERROR in ReadExcelFile() method. Error Message : " + exception.Message);
        }
    }
}

誰でもこれで私を助けることができますか?

4

1 に答える 1

0

これを試しましたか:

dtTruck = string.Format(dtTruck,"{0:T}"); 

参照 :

http://www.csharp-examples.net/string-format-datetime

于 2012-11-19T10:27:43.033 に答える