zoukankan      html  css  js  c++  java
  • ADO连接Excel,Access

    注:Excel2003和之后的版本后缀名有所不同

    代码
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    ADOConnection1.ConnectionString :
    = 'Provider=MSDASQL.1;Persist Security Info=False;'
    + 'Driver={Microsoft Excel Driver (*.xls)};DBQ=E:\Book1.xls';
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ADOQuery1.Connection :
    = ADOConnection1;
    ADOQuery1.Close;
    ADOQuery1.SQL.Text :
    = 'SELECT * FROM [Sheet1$]';
    ADOQuery1.Open;
    end;

    DataSet导出到Excel

    代码
    procedure WriteToExcel(aDataSet: TDataSet;const sName, Title: string);
    var
    ExcelApplication1: TExcelApplication;
    ExcelWorksheet1: TExcelWorksheet;
    ExcelWorkbook1: TExcelWorkbook;
    i, j, idx: integer;
    filename:
    string;
    begin
    filename :
    = Concat(extractfilepath(application.exename), sName, '.xls');
    try
    ExcelApplication1 :
    = TExcelApplication.Create(Application);
    ExcelWorksheet1 :
    = TExcelWorksheet.Create(Application);
    ExcelWorkbook1 :
    = TExcelWorkbook.Create(Application);
    ExcelApplication1.Connect;
    except
    Application.Messagebox(
    'Excel not install!', 'Error!', MB_ICONERROR + mb_Ok);
    Exit;
    end;
    try
    ExcelApplication1.Connect;
    ExcelApplication1.Visible[
    0] := True;
    ExcelApplication1.Workbooks.Add(EmptyParam,
    0);
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[
    1]);
    ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[
    1] as _worksheet);
    aDataSet.First;
    for j := 0 to aDataSet.Fields.Count - 1 do
    begin
    ExcelWorksheet1.Cells.item[
    3, j + 1] := aDataSet.Fields[j].DisplayLabel;
    ExcelWorksheet1.Cells.item[
    3, j + 1].font.size := 10;
    end;
    for i := 4 to aDataSet.RecordCount + 3 do
    begin
    for j := 0 to aDataSet.Fields.Count - 1 do
    begin
    ExcelWorksheet1.Cells.Item[i,j
    +1].Value := aDataSet.Fields[j].Asstring;
    ExcelWorksheet1.Cells.Item[i,j
    +1].font.size := 10;
    end;
    aDataSet.Next;
    end;
    ExcelWorksheet1.Columns.AutoFit;
    ExcelWorksheet1.Cells.item[
    1, 2] := Title;
    ExcelWorksheet1.Cells.Item[
    1, 2].font.size := 14;
    //ExcelWorksheet1.SaveAs(filename);
    Application.Messagebox(PAnsiChar(
    'Excel Successful' + filename), 'Excel', mb_Ok);
    finally
    ExcelApplication1.Disconnect;
    ExcelApplication1.Quit;
    ExcelApplication1.Free;
    ExcelWorksheet1.Free;
    ExcelWorkbook1.Free;
    end;
    end;

    连接Access:

    代码
    procedure TForm1.Button2Click(Sender: TObject);
    const
    SConnectionStringAccess
    ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Persist Security Info=False';
    var
    FADOConnection:TADOConnection;
    begin
    FADOConnection:
    =TADOConnection.Create(nil);
    try
    FADOConnection.LoginPrompt:
    =False;
    FADOConnection.ConnectionString:
    =Format(SConnectionStringAccess,[ExtractFilePath(ParamStr(0))+'test.mdb']);;
    FADOConnection.Open;
    finally
    if FADOConnection.Connected then FADOConnection.Close;
    if Assigned(FADOConnection) then FreeAndNil(FADOConnection);
    end;
    end;
  • 相关阅读:
    【HDOJ】2774 Shuffle
    【POJ】2170 Lattice Animals
    【POJ】1084 Square Destroyer
    【POJ】3523 The Morning after Halloween
    【POJ】3134 Power Calculus
    【Latex】如何在Latex中插入伪代码 —— clrscode3e
    【HDOJ】4801 Pocket Cube 的几种解法和优化
    【HDOJ】4080 Stammering Aliens
    【HDOJ】1800 Flying to the Mars
    SQL语法
  • 原文地址:https://www.cnblogs.com/Jekhn/p/1916603.html
Copyright © 2011-2022 走看看