本帖最后由 zhouwen 于 2010-10-26 20:50:50 编辑

解决方案 »

  1.   

    楼主写出来的是文本文件,Excel打开后显示给我们的是格式化的0998 写的时候写成 "0998"
    if(k==3)
      columnValue += """"+dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString() + """";
      

  2.   

    导出cvs文件,是可以认到前面的0
    添加Microsoft.Office.Interop.Excel的引用,使用Excel类操作
    使用'
    mySheet.Cells(1,9).NumberFormatLocal = "@"  
    Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[1,3]);  
    r.NumberFormat = "@";  
    r.NumberForma = "0.00_ "  
      

  3.   

    你的方法导出的其实是csv(逗号分隔的)文件,扩展名为 .csv 的。按照楼上所说的两边加上双引号就能保证显示。(Excel当做文字列来显示)
      

  4.   

    if(k==3)
      columnValue += """"+dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString() + """";
    是会编译时直接报错的!
    如果用
    if(k==3)
      columnValue += "\""+dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString() + "\"";
    还是原来的情况:0998,但导出后,就变成了998(数字格式了)
    如果用
    if(k==3)
      columnValue += @"""+dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString() + @""";
    出现:
    +dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString()+@
      

  5.   

    sorry,记差了csv 里没办法,要么用com,要么前面加个 ',然后和客户解释一下,其实这个对于客户来说不算什么,而楼主可以少些很多代码
      

  6.   

    lz,你的问题我也遇到过,当时还涉及到合并单元格的问题,我最后就写一个含table的html源码,存的时候直接是存成.xls文件就ok了
      

  7.   

    写一个含table的html源码,可惜没这个水平。
      

  8.   

    C# WinForm开发系列 - Excel
      

  9.   

    如果用:
    @"="" + "09988" + @"""

     if(k==3)
        columnValue += @"=""+dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString()+@""";
    在Excel中出现
    +dgvGF_IN_INFO.Rows[j].Cells[k].Value.ToString()+@