在做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;
}