修改DataTable某一列的类型和记录值

  在做DataTable导出Excel表格时,有些列的值由于是Decimal类型的,导出来是用科学计数法显示的。当然如果手动修改导出的Excel表格的话也是可以的,只要把该列由数字模式改为文本模式即可。下面的方法可以修改相应列的类型为string也可以做到。

 

     ///


    /// 修改数据表DataTable某一列的类型和记录值(正确步骤:1.克隆表结构,2.修改列类型,3.修改记录值,4.返回希望的结果)
    ///

    /// 数据表DataTable
    /// 数据表DataTable
    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;
    }

你可能感兴趣的:(winform,webform)