日期:2014-05-17  浏览次数:21050 次

数据导出到Excel,字符串格式问题
吧DataGridView中的数据导入到Excel中,时间是一个字符串,例如201312231500,身份证号也是字符串,为什么导出后显示这样的格式,该怎么解决

------解决方案--------------------
转为科学计数法了。用下面这个方法转一下。
private string ReplaceLowOrderASCIICharacters(string tmp)  
{  
    StringBuilder info = new StringBuilder();  
    foreach (char cc in tmp)  
    {  
        int ss = (int)cc;  
        if (((ss >= 0) && (ss <= 8)) 
------解决方案--------------------
 ((ss >= 11) && (ss <= 12)) 
------解决方案--------------------
 ((ss >= 14) && (ss <= 32)))  
            info.AppendFormat(" ", ss);  
        else info.Append(cc);  
    }  
    return info.ToString();  
}  

------解决方案--------------------
写的时候,前面加一个单引号 "'"+"200020202020020202"
------解决方案--------------------
如果是用的模板,那么将这列的属性设置为文本

如果不是模板
就和楼上说的那样在前面加个单引号
如果是使用的Microsoft.Office.Interop.Excel
可以这么做


Range valueCell = null;
valueCell = (Range)sheet.Cells[i, j];//i,j为所在单元格的行与列
valueCell.NumberFormatLocal = "@";

这就相当于定义这个单元格的属性为文本了
------解决方案--------------------
Excel的问题,默认是科学计数法,我是在Excel中用数据分列转成文本类型