繁体   English   中英

表导出为CSV时不保留SQLite日期格式

[英]Table Export to CSV not keeping SQLite Date Format

我正在尝试使用c#eveything将数据从sqlite表导出到csv文件,但效果很好,但日期时间已更改为其他格式。 这是DateTime的sqlite 3格式

'2014-05-19 14:42:13.000'

这是csv dateeime格式

19/05/2014 14:42:13

我需要将此格式与sqlite3相同,这是我的代码。

 SQLiteCommand myCommand = new SQLiteCommand();
            myCommand.Connection = m_dbConnection;


            myCommand.CommandText = "select CompanyId,DateTime,Serial,ShortDeviceId,MatricolaA,Upper(Targa),CommonRoadDescription,RoadCivicNumber,GpsAddress,VerbaliVehicleTypeDescription,VehicleBrandDescription,VehicleModelDescription,CommonColorVehicleDescription,VerbaliRuleOneCode,VerbaliRuleOneDescription,VerbaliClosedNoteDescription,VerbaliRuleOnePoints,VerbaliMissedNotificationDescription  from  VerbaliData";
            //myCommand.Connection = myConn;
            DataTable data = new DataTable();
            SQLiteDataAdapter myAdapter = new SQLiteDataAdapter(myCommand);
            //myAdapter.SelectCommand = myCommand;

            myAdapter.Fill(data);
            dataGridView1.DataSource = data;

            this.dataGridView1.Refresh();

            if (dataGridView1.RowCount > 0)
            {
                string value = "";
                DataGridViewRow dr = new DataGridViewRow();
                StreamWriter swOut = new StreamWriter("I:/test12.csv");

                for (int i = 0; i <= dataGridView1.Columns.Count - 1; i++)
                {
                    if (i > 0)
                    {
                        swOut.Write(",");
                    }
                    swOut.Write(dataGridView1.Columns[i].HeaderText);
                }

                swOut.WriteLine();

                for (int j = 0; j <= dataGridView1.Rows.Count - 1; j++)
                {
                    if (j > 0)
                    {
                        swOut.WriteLine();
                    }

                    dr = dataGridView1.Rows[j];

                    for (int i = 0; i <= dataGridView1.Columns.Count - 1; i++)
                    {
                        if (i > 0)
                        {
                            swOut.Write(",");
                        }


                        value = dr.Cells[i].Value.ToString();
                        value = value.Replace(',', ' ');
                        value = value.Replace(Environment.NewLine, " ");

                        swOut.Write(value);
                    }
                }
                swOut.Close();
            }m_dbConnection.Close();

将日期值写入CSV文件时,请使用“(双引号)符号将其括起来。

检查:但是在此之前,请在记事本中打开CSV文件,然后查看其中的值是如何写入的。 通常,CSV文件与Excel关联,如果您使用Excel打开它,它将尝试根据您当前的语言环境设置来解析值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM