通过ADO导出导入Excel数据的方法
http://expert.csdn.net/Expert/topic/1953/1953625.xml?temp=.1260034
Excel
但我这种导入方法碰到如果一列有多种数据类型(比如既有数字又有字符),就会出现一些单元格无法导入的问题.问题写载下面的问题中
http://expert.csdn.net/Expert/topic/1975/1975625.xml?temp=.9672815大家有什么好的Excel导出导入的方法?我Excel表有几千行的,如果用Excel Application Objet来后台打开Excel的方法很慢,而且非常耗资源。但我用ADO以Jet把excel作为数据源的方式打开的时候,如果一列既有数字类型,又有字符类型,字符类型的单元格在数据源中返回的是NULL,虽然对应单元格是有数据的.
ExcelDSnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=c:\mzf.xls;" & _
                   "Extended Properties=""Excel 5.0;HDR=Yes;"""大家还有没有其他更好的打开excel和导出导入Excel的方法?

解决方案 »

  1.   

    我见过的导入导出excel 的方法也就上面两种。你将既有字符又有数字的列定义成字符型,就可以了吧。
      

  2.   

    http://www.csdn.net/develop/author/netauthor/lihonggen0/Visual Basic 导出到 Excel 提速之法 (原创) 
    SQL SERVER 与ACCESS、EXCEL的数据转换 (原创)
      

  3.   

    以二进制方式输出Excel文件。
      

  4.   

    To lihonggen0(李洪根,用.NET,标准答案来了) 
        我看过你的文章了,然后在SQL Server导入和查询Excel,这些单元格的导入结果和查询结果都是NULL。唯一能正确导入的是Access的导入功能,不知它是以什么机制导入的。
    To  junwhj(junwhj.myrice.com)     如何实现呢?
      

  5.   

    To lhfcsdn(小刘) 
       我也在想差不多的问题。关键是当一列既有字符型又有数字型的时候,好像该列被为是数字型,然后对于字符型的单元格,都返回NULL。目标数据库可以设置为字符型。但作为源表的Excel表,就不知道怎么处理它?
      

  6.   

    将excel的那个既有数字又有字符的列设为字符型,再试试。好像在写入excel时,写入的字符串需在前面加一个'号,否则,excel将当做数字来处理。
      

  7.   

    To lhfcsdn(小刘) :设置要导入的excel的列的类型太难了。对用户很难强求他去这样做。所以只好又要用VBA打开Excel设置,有点违背使用数据库方式打开Excel连接的初衷:(
    如果还是用VBA的方法的话,也许用象导出一样,象
    http://www.csdn.net/develop/read_article.asp?id=14952的xlSheet.QueryTables的方法,导入也就用这种方法了。
      

  8.   

    To bigbigfans(小骁):以二进制方式输出Excel,用友就做了一个这样的控件,我的控件FlexCell里也有这个功能,但都需要注册后才能好用的。当然,如果注册了FlexCell表格控件,就可以得到ExportToExcel的源码。http://junwhj.myrice.com/
      

  9.   

    To junwhj(junwhj.myrice.com) 你的FlexCell真的很棒,如果注册了我能够了解怎么做的就好了。:)  
    To  swed(谢谢你的爱) SQL的导入和查询的结果那些单元格都是NULL.
    Sql做的查询的是
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\book1.xls";;Password=;Extended properties=Excel 5.0')...[Sheet1$]唯一没问题的是Access的导入功能
      

  10.   

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;247412