我在excel表中的时间格式为14:44:02 但用c#导入到dataGridView中时却变成了1899-12-30 14:44   后面的秒丢失了~
请大家帮下忙,如何才可以取得正确的格式,我导入的代码如下:
private System.Data.DataTable GetExcelToDataTable(string filePath)
        {            //连接串
            DataSet ds = new DataSet();
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + "Extended Properties='Excel 8.0;HDR=NO;'";
            OleDbConnection conn = new OleDbConnection(strConn);            conn.Open();
            //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等  
            System.Data.DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });            //包含excel中表名的字符串数组
            string[] strTableNames = new string[dtSheetName.Rows.Count];
            for (int k = 0; k < dtSheetName.Rows.Count; k++)
            {
                strTableNames[k] = dtSheetName.Rows[k]["TABLE_NAME"].ToString();
            }            OleDbDataAdapter myCommand = null;
            System.Data.DataTable dt = new System.Data.DataTable();            //从指定的表明查询数据,可先把所有表明列出来供用户选择
            string strExcel = "select * from [" + strTableNames[0] + "]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            dt = new System.Data.DataTable();
            myCommand.Fill(dt);            conn.Close();
            return dt;        }

解决方案 »

  1.   

    你首先确定dt里面的时间格式是否正确,如果没有问题的话,在gridview中定义显示格式。
      

  2.   

    datagridview中列设置cellstyle中format属性改为相应格式的时间类型。
      

  3.   

    请问如何定义gridview的显示格式
      

  4.   

    DataFormatString="{0:yyyy-MM-dd HH:mm:ss}"
      

  5.   

    dataGridView1.DataSource = GetExcelToDataTable(openFileDialog1.FileName);
    dataGridView1.Columns[2].DefaultCellStyle.Format = "HH:mm:ss";
    我这样写对吗? 编译可以通过 但没效果
      

  6.   

    我只是想第二列为hh:mm:ss格式 其他列仍为默认格式
      

  7.   

    可以了 代码如下,不是长度不够~
    dataGridView1.DataSource = GetExcelToDataTable(openFileDialog1.FileName);
                    DataGridViewCellStyle style = new DataGridViewCellStyle();
                    style.Format = "HH:mm:ss";
                    this.dataGridView1.Columns["F2"].DefaultCellStyle = style;