zoukankan      html  css  js  c++  java
  • Excel和数据库的导入与导出

    平常我们把Excel中的资料导入到数据库中时,经常会用VBA的方式操作,速度慢并要写许多代码。Excel文件本身也是一个小型数据库。

    连接Excel时用的是连接Access数据库的模式,即OleDB Jet 4.0的驱动,连接的ConnectionString可以设计为以下格式:

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\aa.xls;Extended Properties="Excel 8.0"

    其它的操作和平常数据库一模一样。

    如果要把数据库如MSSql中的表导入到Excel中,则用MSSql的连接字符串,说白了就是用select * into destable from sourcetable这个语句。

    如下的Sql命令语句:

    select top 65535 * into [Excel 8.0;database=aa.xls].[Sheet1] from table01

    因为Excel每个sheet最多只能有65536行,最多为256列,所以在导出大量的数据时最后加上top 65565,还有一行为列头。

    [Excel 8.0;database=aa.xls].[Sheet1]是要导入的Excel的sheet,要用广括号括起来,注意:这里的aa.xls是不存在的,所以在执行此语句之前一定不要存在此文件。
    如果想把数据追加到一个Excel中,即导入前Excel已存在,则用insert into destable select * from sourcetable这样的语句,
    但一定要设计好相关的字段和数据类型,要不会出错。


    注意:在连接Access时,新的操作系统用以下的连接字符串会提示:
    Provider=Microsoft.Jet.OLEDB.4.0;Password=110;Data Source=E:\db1.mdb;Mode=Share Deny None;Persist Security Info=True
    会出现以下提示:

    大家可以在下图中设置一下:

          在图一中不要保存密码

                                                                                                     图一

    在图二中设置它的密码:

     

    这样的话就可以连接成功了,以上是Delphi中的设置,用C#2010是正常的。

    此时它的连接字符串为:

      Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\db1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=110;

    
    
  • 相关阅读:
    安装mysql到服务器的linux环境下
    Junit
    shell编程控制结构:expr、let、for、while、until、shift、if、case、break、continue、函数、select
    JavaScript组合继承的一点思考
    JavaScript-2.内置对象---简单脚本之弹出对话框显示当前时间 ---ShinePans
    Python之美[从菜鸟到高手]--2+2=5
    Flex中配置FusionCharts
    [WHY]Hello, Worktile~
    数据库学习之中的一个: 在 Oracle sql developer上执行SQL必知必会脚本
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/yagzh2000/p/2834443.html
Copyright © 2011-2022 走看看