1. 程式人生 > >修改DataTable某一列的型別和記錄值

修改DataTable某一列的型別和記錄值

  在做DataTable匯出Excel表格時,有些列的值由於是Decimal型別的,匯出來是用科學計數法顯示的。當然如果手動修改匯出的Excel表格的話也是可以的,只要把該列由數字模式改為文字模式即可。下面的方法可以修改相應列的型別為string也可以做到。

     /// <summary>
    /// 修改資料表DataTable某一列的型別和記錄值(正確步驟:1.克隆表結構,2.修改列型別,3.修改記錄值,4.返回希望的結果)
    /// </summary>
    /// <param name="dt">資料表DataTable</param>
    /// <returns>資料表DataTable</returns>
    private DataTable changeDT(DataTable dt)
    {
        DataTable datatable = new DataTable();
        //克隆表結構,表的資料並沒有克隆
        datatable = dt.Clone();
        foreach (DataColumn col in datatable.Columns)
        {
            if (col.ColumnName == "ID")
            {
                //修改列型別
                col.DataType = typeof(String);
            }
        }

        //為新表填充資料
        foreach (DataRow row in dt.Rows)
        {
            DataRow nr = datatable.NewRow();
            nr["name"] = row["name"];
            //修改記錄值
            nr["ID"] = row["ID"] .toString()";

            nr["sex"] = row["sex"];
            datatable.Rows.Add(nr);
        }
        //返回一個DataTa

        return dtResult;
    }