zoukankan      html  css  js  c++  java
  • EXCEL导入数据库二

    2、将Excel的数据导入SQL server :
    SELECT * into newtable
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]

    实例:
    SELECT * into newtable
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

    3、将SQL SERVER中查询到的数据导成一个Excel文件
    T-SQL代码:
    EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
    参数:S 是SQL服务器名;U是用户;P是密码
    说明:还可以导出文本文件等多种格式

    实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'

    EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'

    ==============================================================================================

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, comobj, StdCtrls, DB, ADODB;

    type
    TForm1 = class(TForm)
        Button1: TButton;
        OpenDialog: TOpenDialog;
        Query1: TADOQuery;
        procedure Button1Click(Sender: TObject);
    private
        { Private declarations }
    public
        { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    excelx,excely,excelz : string;
    ExcelApp,WorkBook: Olevariant;
    ExcelRowCount,i :Integer;
    begin
    opendialog.Execute;
    try
        ExcelApp := CreateOleObject('Excel.Application');
       // WorkBook :=ExcelApp;
        WorkBook := ExcelApp.WorkBooks.Open(opendialog.FileName);//使用opendialog对话框指定
          //excel档路径
        ExcelApp.Visible := false;
        ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
        for i := 1 to excelrowcount + 1 do
        begin
          excelx := excelapp.Cells[i,1].Value;
          excely := excelapp.Cells[i,2].Value;
          excelz := excelapp.Cells[i,3].Value;
       (* if ((excelapp.Cells[i,1].Value = '') and (ExcelApp.Cells[i,2].Value = '')) then //指定excel档的第 i 行 ,第 1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的档案力这两行//对应数据库中不能为空的数据
         exit
        else *)
        with query1 do
        begin
        close;
        sql.clear;
        sql.add('insert into ceshi(one,two,three) values(:a,:b,:c)');
        Parameters.ParamByName('a').Value := excelx;//excel档的第一列插入到aa表的 a 栏位;
        Parameters.ParamByName('b').Value := excely;//excel档的第二列插入到aa表的 b 栏位;
        Parameters.ParamByName('c').Value := excelz;
        execsql;
        end;
        end;
        finally
          WorkBook.Close;
          ExcelApp.Quit;
          ExcelApp := Unassigned;
          WorkBook := Unassigned;
          showmessage('导入成功!');
        end;
    end;
    end.

  • 相关阅读:
    jedata日期控件的开始结束日期设置
    springMVC中对HTTP请求form data和request payload两种数据发送块的后台接收方式
    Java Code Examples for org.codehaus.jackson.map.DeserializationConfig 配置
    Struts 2与AJAX(第二部分)
    在Struts 2中实现文件上传
    Strus 2的新表单标志的使用
    在Struts 2中实现CRUD
    Struts 2与AJAX(第三部分)
    Struts 2中的OGNL
    GridView中实现自定义时间货币等字符串格式
  • 原文地址:https://www.cnblogs.com/mingdep/p/2332229.html
Copyright © 2011-2022 走看看