http://www.cnblogs.com/lovecherry/archive/2005/03/25/125519.html?Pending=true#Post
StringWriter sw=new StringWriter(); 
   sw.WriteLine("自动编号,姓名,年龄"); 
   foreach(DataRow dr in dt.Rows) 
   { 
    sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]); 
   } 
   sw.Close(); 
   Response.AddHeader("Content-Disposition", "attachment; filename=test.csv"); 
   Response.ContentType = "application/ms-excel"; 
   Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); 
   Response.Write(sw); 
   Response.End(); 
我用这个方法写了excel,显示很好,可是我需要把我写的excel再导入别的程序执行,可是导入后结果就为空值了,而用原来的asp里实现的
Dim xls, ws, es , MYear, MMonth, MDay, fs, i
Set xls = Server.CreateObject("Excel.Application")
Set fs = server.CreateObject("scripting.filesystemobject")
  Set ws = xls.Workbooks.Add
  Set es = ws.ActiveSheet
insert "","","","",""
insert  MYear & "年" & MMonth & "月" & MDay &"日","","","","" 就可以导入生成数据,我发现的就存储的格式不一样,.net里要怎么处理才能是excel原来的格式呢

解决方案 »

  1.   

    你这样写法,显示出来的,其实是一个文本文件,并非真正的EXCEL文件.
      

  2.   

    是啊是文本文件,我要怎么才能够生成真正的EXCEL文件阿?
      

  3.   

    有区别么?
    你里边也不带有非用EXCLE的功能!
    如果你想用它来导入导出数据的话,EXCLE和TXT有区别么?
      

  4.   

    http://www.cnblogs.com/lovecherry/archive/2005/03/25/125519.html也介绍了导出为excel的方法呀,再仔细看看对方法一,二补充一点,如果你希望导出的是xls文件分隔符用\t就可以了,不要用逗号 代码修改如下: 
    sw.WriteLine("自动编号\t姓名\t年龄"); 
       foreach(DataRow dr in dt.Rows) 
       { 
        sw.WriteLine(dr["ID"]+"\t"+dr["vName"]+"\t"+dr["iAge"]); 
       } 
    另外,修改输出的文件扩展名为xls即可。
      

  5.   

    我生成的文件要是用记事本打开的话,可以看到和excel的一样的,如果你打开原来是excel写入的文件用记事本打开是乱码啊