修改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;
    }

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值