用dotnet C# 导入25W行数据进Excel,保存之前看到Excel里面数据都是全的,但是一保存就出"互换性错误",大概是说,老版本不支持大数据,大量数据丢失。如果是在Excel界面里另存为xlsx的话,数据都是存在的。所以,想请教一下大家,用程序的话,一般怎么保存数据而不丢失,最好是保存为xlsx。
用的包excel 12版的使用的方法
Workbook.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodepage, TextVisualLayout, Local)实际是
Workbook.SaveAs("C:\\2.xlsx", IExcel.XlFileFormat.xlWorkbookNormal, null, null, null, null, IExcel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);是不是我用错了,或者还有其他的保存方法。谢谢

解决方案 »

  1.   

    EXCEL一个SHEET最大的行是65535呢。
    LZ是如何在一个SHEET里面保存25W行数据的啊?学习学习。
      

  2.   

    没人用过excel开发?大侠都去哪啦?
      

  3.   

    是不是要更新一下你的excel包,让他支持大数据
      

  4.   

    excel 2000 和excel 2003 支持65535行数据,而excel 2007支持百万。
      

  5.   

    string filename = "d:\\excel\\" + name + ".xlsx"; //文件保存路径
                            //string filename=
                            //创建Excel文档
                            
                            Excel.Workbook ExcelDoc = ExcelApp.Workbooks.Add(Type.Missing);
                            Excel.Worksheet xlSheet = ExcelDoc.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                            Excel.XlFileFormat format = Excel.XlFileFormat.xlWorkbookNormal;
                            ExcelApp.DisplayAlerts = false;
                            //Excel.XlSaveAsAccessMode accessmode = Excel.XlSaveAsAccessMode.xlExclusive;                        //写入内容 
                            if (content != null)
                                xlSheet.Cells[1, 1] = content;
                            else
                                xlSheet.Cells[1, 1] = "内容";
                            
                            //文件保存
                            xlSheet.SaveAs(filename);
                            ExcelDoc.Close(Type.Missing,filename, Type.Missing);
                            //ExcelApp.Quit();
                            message = name + "文档生成成功,以保存到C:CNSI下";
      

  6.   

    搞定了,excel默认保存的时候会去找注册表一类的文件映射,由于2003和2007共存,而又设置的是2003为默认,导致了这个致命伤。卸掉2003或修改注册表的文件映射就OK了。
    如果有谁还需要C#控制excel的可以 CALL 我。
    之后有时间把它写出来
    谢谢各位!!!
      

  7.   

    你好
    我调用saveas保存文件后,再次打开,文件里面没有内容
    环境:
    vs2010+office2010.
    我创建的是excel模板类型项目,就是说把excel模板另存成excel文本时,内容丢失
      

  8.   

    卸载有点郁闷了,能不能直接保存到xlsx中。