delehi使用Ado方式读取EXCEL导入的Demo

delehi使用Ado方式读取EXCEL导入的Demo


源码

unit UF_S_KH_DR;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ActnList, DB, ADODB, DBGridEhGrouping, ToolCtrlsEh,
  DBGridEhToolCtrls, DynVarsEh, StdCtrls, ComCtrls, GridsEh, DBAxisGridsEh,
  DBGridEh, exgrid, RapTree, FlytreePro, Mask, RzEdit, RzBtnEdt, ExtCtrls,
  RzTabs, Grids, DBGrids, RzCmboBx, ComObj, DateUtils, DBCtrls, DBNavPlus,
  HzSpell;

type
  TF_S_KH_DR = class(TForm)
    AQry_CSM: TADOQuery;
    Ds_CSM: TDataSource;
    ActionList1: TActionList;
    Act_Exit: TAction;
    Act_0_N: TAction;
    Act_1_P: TAction;
    Act_1_N: TAction;
    Act_2_P: TAction;
    Act_2_N: TAction;
    Act_3_P: TAction;
    Act_3_N: TAction;
    Act_GridConfig_AQryCSM: TAction;
    PM_Grid: TPopupMenu;
    N1: TMenuItem;
    AQry_DRM: TADOQuery;
    AQry_Tmp: TADOQuery;
    AQry_XZ: TADOQuery;
    PGC_Main: TRzPageControl;
    Tab0: TRzTabSheet;
    Pnl_0_Head: TPanel;
    Button2: TButton;
    Button3: TButton;
    Btn_0_Close: TButton;
    Panel1: TPanel;
    lbl_1: TLabel;
    Label1: TLabel;
    Label8: TLabel;
    Tab1: TRzTabSheet;
    Panel2: TPanel;
    Label3: TLabel;
    Label2: TLabel;
    Panel5: TPanel;
    Button1: TButton;
    Button4: TButton;
    Button5: TButton;
    DBGrd_CSM: TDBGridEh;
    Tab2: TRzTabSheet;
    Panel3: TPanel;
    Label5: TLabel;
    Label4: TLabel;
    Panel6: TPanel;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Panel8: TPanel;
    PB_JD: TProgressBar;
    Mem_JCTS: TMemo;
    Panel9: TPanel;
    Label6: TLabel;
    lbl_JD: TLabel;
    Tab3: TRzTabSheet;
    Panel4: TPanel;
    Label7: TLabel;
    Panel7: TPanel;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    dbgrd_1: TDBGrid;
    Edt_ExcelFileName: TRzButtonEdit;
    cbb_ExcelGZB: TRzComboBox;
    Chb_SY2003FS: TCheckBox;
    Ds_1: TDataSource;
    ACON_DBE: TADOConnection;
    AQRY_Excel: TADOQuery;
    stat_1: TStatusBar;
    Button12: TButton;
    Act_DCExcel_AQryCSM: TAction;
    Pb_Read: TProgressBar;
    AQry_DRCMD: TADOQuery;
    lb_ExcelJD: TLabel;
    Chb_ClearTable: TCheckBox;
    DBNavPlus1: TDBNavPlus;
    DBNavPlus2: TDBNavPlus;
    HzSpell1: THzSpell;
    procedure FormCreate(Sender: TObject);
    procedure Edt_ExcelFileNameButtonClick(Sender: TObject);
    procedure Act_ExitExecute(Sender: TObject);
    procedure cbb_ExcelGZBChange(Sender: TObject);
    procedure Ds_1DataChange(Sender: TObject; Field: TField);
    procedure Ds_1StateChange(Sender: TObject);
    procedure Ds_1UpdateData(Sender: TObject);
    procedure Act_0_NExecute(Sender: TObject);
    procedure Act_1_PExecute(Sender: TObject);
    procedure Act_1_NExecute(Sender: TObject);
    procedure Act_2_PExecute(Sender: TObject);
    procedure Act_2_NExecute(Sender: TObject);
    procedure Act_3_PExecute(Sender: TObject);
    procedure Act_3_NExecute(Sender: TObject);
    procedure Act_DCExcel_AQryCSMExecute(Sender: TObject);
    procedure Act_GridConfig_AQryCSMExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    FACon: TADOConnection;
    FSJOK: Boolean;


    procedure SetStatInfoByDataSet(ISBar: TStatusBar; IIndex: Integer; IDataSet: TDataSet);

  end;

function SetDsFDW(IDs: TDataSet; IFieldWidth: Integer): Boolean;

const
  //Excel连接
  FrmConStrE = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"';

  FrmConStrE2003 = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"';
  FrmConStrE2010 = 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=''%s''; Extended Properties=''Excel 12.0;HDR=YES''';
   // FrmConStrE = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"';


implementation

uses
  U_DBSystem,
  U_Message,
  U_Grid,
  U_Report,
  U_Other;
{$R *.dfm}




function SetDsFDW(IDs: TDataSet; IFieldWidth: Integer): Boolean;
var
  i_c: Integer;
begin
  Result := False;
  if IDs.Active then
  begin
    for i_c := 0 to Ids.FieldCount - 1 do
      if IDs.Fields[i_c].DisplayWidth > IFieldWidth then
        IDs.Fields[i_c].DisplayWidth := IFieldWidth;
  end;
end;


procedure TF_S_KH_DR.SetStatInfoByDataSet(ISBar: TStatusBar; IIndex: Integer; IDataSet: TDataSet);
begin
  try
    ISBar.Panels[IIndex].Text := '';
    if IDataSet <> nil then
    begin
      if IDataSet.Active then
      begin
        if IDataSet.IsEmpty then
        begin
          ISBar.Panels[IIndex].Text := '0/0';
        end
        else
        begin

          ISBar.Panels[IIndex].Text := IntToStr(IDataSet.RecNo) + '/' + IntToStr(IDataSet.RecordCount);
        end;
      end;
    end;
  except
  end;
end;




procedure TF_S_KH_DR.FormCreate(Sender: TObject);
var
  i: integer;
begin
  Caption := '托收-客户基础数据-导入';
  Mem_JCTS.Clear;

  for i := 0 to Self.PGC_Main.PageCount - 1 do
  begin
    PGC_Main.Pages[i].TabVisible := False;
  end;
  PGC_Main.ActivePageIndex := 0;

  DBGrd_CSM.ReadOnly := True;
 // DBGrd_CSM.Options := EditFalse;
  DBGrd_CSM.Options := GridOptionsEditFalse;
  DBGrd_CSM.OptionsEh := GridOptionsEh;

  DBGrd_CSM.RowHeight := 18;
  DBGrd_CSM.RowSizingAllowed := True;

  DBGrd_CSM.TitleParams.MultiTitle := True;

  FSJOK := False;
end;

procedure TF_S_KH_DR.Act_ExitExecute(Sender: TObject);
begin
  Close;
end;

procedure TF_S_KH_DR.Edt_ExcelFileNameButtonClick(
  Sender: TObject);
begin
  with TOpenDialog.Create(Application) do
  begin
    try
     //  Filter := 'Excel文件(*.XLS)|*.XLS|所有文件(*.*)|*.*';

      Filter := 'Excel文件(2003/2010)(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件(*.*)|*.*';

      FilterIndex := 0;
      InitialDir := ExtractFilePath(Application.ExeName);
      if Trim(self.edt_ExcelFileName.Text) <> '' then
      begin
        FileName := Trim(self.edt_ExcelFileName.Text);
      end;

      if Execute then
      begin
        ACON_DBE.Close;
        ACON_DBE.ConnectionString := '';
        if Chb_SY2003FS.Checked then
        begin
          ACON_DBE.ConnectionString := Format(FrmConStrE2003, [FileName]);
        end
        else
        begin
          ACON_DBE.ConnectionString := Format(FrmConStrE2010, [FileName]);
        end;

        self.edt_ExcelFileName.Text := FileName;
        try
          ACON_DBE.Open;
          cbb_ExcelGZB.Clear;
          ACON_DBE.GetTableNames(cbb_ExcelGZB.Items, False);
          cbb_ExcelGZB.ItemIndex := 0;
          cbb_ExcelGZBChange(Sender);

        except
          cbb_ExcelGZB.Clear;
          AQRY_Excel.Close;
          ShowMessage('打开文件不成功.');
        end;

      end;
    finally
      Free;
    end;
  end;
end;



procedure TF_S_KH_DR.cbb_ExcelGZBChange(Sender: TObject);
var i_c: integer;
begin
  if self.cbb_ExcelGZB.Text <> '' then
  begin
    AQRY_Excel.Close;
    AQRY_Excel.SQL.Text := 'Select * From [' + Self.cbb_ExcelGZB.Text + ']';
    try
      AQRY_Excel.Open;
      SetDsFDW(AQRY_Excel, 22);
    except
      ShowMessage('打开Excel工作薄不成功!');
    end;
  end;
end;

procedure TF_S_KH_DR.Ds_1DataChange(Sender: TObject;
  Field: TField);
begin
  SetStatInfoByDataSet(Self.stat_1, 0, self.ds_1.DataSet);
end;

procedure TF_S_KH_DR.Ds_1StateChange(Sender: TObject);
begin
  SetStatInfoByDataSet(Self.stat_1, 0, self.ds_1.DataSet);
end;

procedure TF_S_KH_DR.Ds_1UpdateData(Sender: TObject);
begin
  SetStatInfoByDataSet(Self.stat_1, 0, self.ds_1.DataSet);
end;

procedure TF_S_KH_DR.Act_0_NExecute(Sender: TObject);
var
  i: integer;
  SJOK: Boolean;
  SJBH: Integer;
begin
  FSJOK := False;
  SJOK := True;
  AQRY_Excel.DisableControls;
  try

    FACon.BeginTrans;
    try

      {
      AQry_Tmp.Close;
      AQry_Tmp.Connection := FACon;
      AQry_Tmp.SQL.Text := 'Truncate table S_KH';
      AQry_Tmp.ExecSQL;
      AQry_Tmp.Close;
       }
      AQry_CSM.Close;
      AQry_CSM.Connection := FACon;
      AQry_CSM.SQL.Text := 'SELECT * '
        + ' From S_KH_YHTSHT'
        + ' WHERE 1=0';
      AQry_CSM.Open;
      Pb_Read.Position := 0;
      Pb_Read.Max := AQRY_Excel.RecordCount;
      lb_ExcelJD.Caption := '';
      Application.ProcessMessages;
      if Chb_ClearTable.Checked then
      begin
        SJBH := 1;
      end
      else
      begin
        SJBH := GetSIDInt(FACon, 'S_KH_YHTSHT', 'SJBH');
      end;
      AQRY_Excel.First;
      while not AQRY_Excel.Eof do
      begin
        lb_ExcelJD.Caption := IntToStr(AQRY_Excel.RecNo) + '/' + IntToStr(AQRY_Excel.RecordCount);
        Pb_Read.Position := AQRY_Excel.RecNo;
        Application.ProcessMessages;

        AQry_CSM.Append;

        AQry_CSM.FieldByName('SJBH').AsInteger := SJBH;
        SJBH := SJBH + 1;

        AQry_CSM.FieldByName('KHSH').AsString := AQRY_Excel.FieldByName('税号').AsString;
        AQry_CSM.FieldByName('KHMC').AsString := AQRY_Excel.FieldByName('名称').AsString;

        AQry_CSM.FieldByName('PYJM').AsString := UpperCase(HzSpell1.PyHeadOfHz(AQRY_Excel.FieldByName('名称').AsString));

       // AQry_CSM.FieldByName('BZ').AsString := AQRY_Excel.FieldByName('备注').AsString;

        AQry_CSM.Post;

        AQRY_Excel.Next;
      end;
      FACon.CommitTrans;
      Application.ProcessMessages;

    except
      on E: Exception do
      begin
        FACon.RollbackTrans;
        MsgBoxS('行(' + IntToStr(AQRY_Excel.RecNo) + ')读取错误:' + E.message);
        Exit;
      end;
    end;

    Application.ProcessMessages;

    DB_ZDSZ_Load(FACon, 'S_KH_YHTSHT_DRRead', DBGrd_CSM, AQRY_CSM);
    self.PGC_Main.ActivePageIndex := 1;
  finally
    AQRY_Excel.EnableControls;
  end;
end;

procedure TF_S_KH_DR.Act_1_PExecute(Sender: TObject);
begin
  FSJOK := False;
  self.PGC_Main.ActivePageIndex := 0;
end;

procedure TF_S_KH_DR.Act_1_NExecute(Sender: TObject);
var
  RQSJT: TDateTime;

  YWGUID: string;
begin
  Self.Mem_JCTS.Clear;
  self.PGC_Main.ActivePageIndex := 2;
  Application.ProcessMessages;

  PB_JD.Max := AQry_CSM.RecordCount;
  PB_JD.Position := 0;


  RQSJT := Now; //GetFWQSJ(FACon);
  //YWGUID := GetGuid;
  FACon.BeginTrans;
  try
    if Chb_ClearTable.Checked then
    begin
      AQry_DRCmd.Close;
      AQry_DRCmd.Connection := FACon;
      AQry_DRCmd.SQL.Text := 'Delete FROM  S_KH_YHTSHT';


      AQry_DRCmd.ExecSQL;
      AQry_DRCmd.Close;
    end;
    self.Mem_JCTS.Lines.Add('导入');
    AQry_DRM.Close;
    AQry_DRM.Connection := FACon;
    AQry_DRM.SQL.Text := 'SELECT * FROM S_KH_YHTSHT WHERE 1=0 ';
    AQry_DRM.Open;
    AQry_CSM.First;
    while not AQry_CSM.Eof do
    begin
      PB_JD.Position := AQry_CSM.RecNo;
      lbl_JD.Caption := IntToStr(AQry_CSM.RecNo) + '/' + IntToStr(AQry_CSM.RecordCount);
      Application.ProcessMessages;
      self.Mem_JCTS.Lines.Add(IntToStr(AQry_CSM.RecNo) + ' '
        + AQry_DRM.FieldByName('SJBH').AsString + ' ' + AQry_CSM.FieldByName('KHMC').AsString);

      AQry_DRM.Append;
     // AQry_DRM.FieldByName('YWGUID').AsString := YWGUID;
     // AQry_DRM.FieldByName('DRR').AsString := PCZYMC;

      AQry_DRM.FieldByName('SJBH').AsInteger := AQry_CSM.FieldByName('SJBH').AsInteger;
      YWGUID := '';
      YWGUID := GetGuid;
      AQry_DRM.FieldByName('YWGUID').AsString := YWGUID;

      AQry_DRM.FieldByName('KHSH').AsString := AQry_CSM.FieldByName('KHSH').AsString;
      AQry_DRM.FieldByName('KHMC').AsString := AQry_CSM.FieldByName('KHMC').AsString;
      AQry_DRM.FieldByName('PYJM').AsString := AQry_CSM.FieldByName('PYJM').AsString;



      AQry_DRM.FieldByName('DRRQ').AsDateTime := RQSJT;
      AQry_DRM.FieldByName('XGRQ').AsDateTime := RQSJT;
      AQry_DRM.FieldByName('TBRQ').AsDateTime := RQSJT;

      AQry_DRM.Post;

      AQry_CSM.Next;
    end;
    AQry_DRM.Close;
    FACon.CommitTrans;
    MsgBoxI('完成.');

  except
    on E: Exception do
    begin
      FACon.RollbackTrans;
      MsgBoxS('出错' + E.message);
    end;
  end;
end;

procedure TF_S_KH_DR.Act_2_PExecute(Sender: TObject);
begin
  self.PGC_Main.ActivePageIndex := 1;
end;

procedure TF_S_KH_DR.Act_2_NExecute(Sender: TObject);
begin
  Close;
  //self.PGC_Main.ActivePageIndex := 3;
end;

procedure TF_S_KH_DR.Act_3_PExecute(Sender: TObject);
begin
  self.PGC_Main.ActivePageIndex := 2;
end;

procedure TF_S_KH_DR.Act_3_NExecute(Sender: TObject);
begin

  Close;
  // self.PGC_Main.ActivePageIndex := 3;
end;

procedure TF_S_KH_DR.Act_DCExcel_AQryCSMExecute(Sender: TObject);
begin
  F_S_DB_DC_DataSetToExcel(AQry_CSM);
end;

procedure TF_S_KH_DR.Act_GridConfig_AQryCSMExecute(
  Sender: TObject);
begin
 //
  F_S_DB_ZDSZ_Show(FACON, 'S_KH_YHTSHT_DRRead', DBGrd_CSM, AQry_CSM);

end;

end.


窗体


object F_S_KH_DR: TF_S_KH_DR
  Left = 455
  Top = 125
  Width = 695
  Height = 651
  Caption = #32534#30721#23548#20837
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -15
  Font.Name = #23435#20307
  Font.Style = []
  OldCreateOrder = False
  Position = poDesktopCenter
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 15
  object PGC_Main: TRzPageControl
    Left = 0
    Top = 0
    Width = 687
    Height = 613
    ActivePage = Tab1
    Align = alClient
    ShowFullFrame = False
    ShowShadow = False
    TabIndex = 1
    TabOrder = 0
    FixedDimension = 21
    object Tab0: TRzTabSheet
      Caption = 'Tab0'
      object Pnl_0_Head: TPanel
        Left = 0
        Top = 541
        Width = 687
        Height = 50
        Align = alBottom
        TabOrder = 0
        DesignSize = (
          687
          50)
        object lb_ExcelJD: TLabel
          Left = 283
          Top = 15
          Width = 40
          Height = 15
          Caption = 'Excel'
        end
        object Button2: TButton
          Left = 396
          Top = 10
          Width = 75
          Height = 25
          Anchors = [akTop, akRight]
          Caption = #19978#19968#27493
          Enabled = False
          TabOrder = 0
        end
        object Button3: TButton
          Left = 490
          Top = 10
          Width = 75
          Height = 25
          Action = Act_0_N
          Anchors = [akTop, akRight]
          TabOrder = 1
        end
        object Btn_0_Close: TButton
          Left = 584
          Top = 10
          Width = 75
          Height = 25
          Action = Act_Exit
          Anchors = [akTop, akRight]
          TabOrder = 2
        end
        object stat_1: TStatusBar
          Left = 106
          Top = 11
          Width = 135
          Height = 25
          Align = alNone
          Panels = <
            item
              Width = 50
            end>
        end
        object DBNavPlus2: TDBNavPlus
          Left = 1
          Top = 10
          Width = 100
          Height = 26
          DataSource = Ds_1
          VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast]
          TabOrder = 4
          Captions.Strings = (
            #26368#21069
            #21521#21069
            #21521#21518
            #26368#21518
            #25554#20837
            #21024#38500
            #32534#36753
            #25552#20132
            #25764#28040
            #21047#26032)
          CaptionsShow = False
          Spacing = 5
          Margin = -1
        end
      end
      object Panel1: TPanel
        Left = 0
        Top = 0
        Width = 687
        Height = 125
        Align = alTop
        TabOrder = 1
        DesignSize = (
          687
          125)
        object lbl_1: TLabel
          Left = 106
          Top = 41
          Width = 45
          Height = 15
          Caption = #24037#20316#34920
        end
        object Label1: TLabel
          Left = 14
          Top = 12
          Width = 51
          Height = 16
          Caption = #31532#19968#27493
          Font.Charset = DEFAULT_CHARSET
          Font.Color = clWindowText
          Font.Height = -16
          Font.Name = #23435#20307
          Font.Style = [fsBold]
          ParentFont = False
        end
        object Label8: TLabel
          Left = 83
          Top = 13
          Width = 70
          Height = 15
          Caption = 'Excel'#25991#20214
        end
        object Edt_ExcelFileName: TRzButtonEdit
          Left = 161
          Top = 10
          Width = 505
          Height = 23
          Anchors = [akLeft, akTop, akRight]
          Color = clInfoBk
          ReadOnly = True
          TabOrder = 0
          AltBtnKind = bkFind
          ButtonKind = bkFind
          HideButtonsOnReadOnly = False
          OnButtonClick = Edt_ExcelFileNameButtonClick
        end
        object cbb_ExcelGZB: TRzComboBox
          Left = 161
          Top = 37
          Width = 287
          Height = 23
          Style = csDropDownList
          ItemHeight = 0
          TabOrder = 1
          OnChange = cbb_ExcelGZBChange
        end
        object Chb_SY2003FS: TCheckBox
          Left = 161
          Top = 66
          Width = 288
          Height = 17
          Caption = #20351#29992'Excel2003'#29256#26041#24335
          TabOrder = 2
        end
        object Chb_ClearTable: TCheckBox
          Left = 162
          Top = 90
          Width = 502
          Height = 17
          Caption = #28165#31354#21407#34920#26723#26696#25152#26377#25968#25454'-'#21024#38500#24050#24405#20837#25152#26377#21512#21516#25968#25454
          TabOrder = 3
        end
      end
      object dbgrd_1: TDBGrid
        Left = 0
        Top = 125
        Width = 687
        Height = 397
        Align = alClient
        DataSource = Ds_1
        ReadOnly = True
        TabOrder = 2
        TitleFont.Charset = DEFAULT_CHARSET
        TitleFont.Color = clWindowText
        TitleFont.Height = -15
        TitleFont.Name = #23435#20307
        TitleFont.Style = []
      end
      object Pb_Read: TProgressBar
        Left = 0
        Top = 522
        Width = 687
        Height = 19
        Align = alBottom
        TabOrder = 3
      end
    end
    object Tab1: TRzTabSheet
      Caption = 'Tab1'
      object Panel2: TPanel
        Left = 0
        Top = 0
        Width = 687
        Height = 41
        Align = alTop
        TabOrder = 0
        object Label3: TLabel
          Left = 14
          Top = 12
          Width = 51
          Height = 16
          Caption = #31532#20108#27493
          Font.Charset = DEFAULT_CHARSET
          Font.Color = clWindowText
          Font.Height = -16
          Font.Name = #23435#20307
          Font.Style = [fsBold]
          ParentFont = False
        end
        object Label2: TLabel
          Left = 77
          Top = 12
          Width = 90
          Height = 15
          Caption = #35835#21462#25968#25454#39044#35272
        end
      end
      object Panel5: TPanel
        Left = 0
        Top = 541
        Width = 687
        Height = 50
        Align = alBottom
        TabOrder = 1
        DesignSize = (
          687
          50)
        object Button1: TButton
          Left = 396
          Top = 10
          Width = 75
          Height = 25
          Action = Act_1_P
          Anchors = [akTop, akRight]
          TabOrder = 0
        end
        object Button4: TButton
          Left = 490
          Top = 10
          Width = 75
          Height = 25
          Action = Act_1_N
          Anchors = [akTop, akRight]
          TabOrder = 1
        end
        object Button5: TButton
          Left = 584
          Top = 10
          Width = 75
          Height = 25
          Action = Act_Exit
          Anchors = [akTop, akRight]
          TabOrder = 2
        end
        object Button12: TButton
          Left = 131
          Top = 10
          Width = 158
          Height = 26
          Action = Act_DCExcel_AQryCSM
          TabOrder = 3
        end
        object DBNavPlus1: TDBNavPlus
          Left = 16
          Top = 10
          Width = 100
          Height = 26
          DataSource = Ds_CSM
          VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast]
          TabOrder = 4
          Captions.Strings = (
            #26368#21069
            #21521#21069
            #21521#21518
            #26368#21518
            #25554#20837
            #21024#38500
            #32534#36753
            #25552#20132
            #25764#28040
            #21047#26032)
          CaptionsShow = False
          Spacing = 5
          Margin = -1
        end
      end
      object DBGrd_CSM: TDBGridEh
        Left = 0
        Top = 41
        Width = 687
        Height = 500
        Align = alClient
        DataSource = Ds_CSM
        DynProps = <>
        Flat = True
        IndicatorOptions = [gioShowRowIndicatorEh, gioShowRecNoEh]
        Options = [dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgConfirmDelete, dgCancelOnExit]
        OptionsEh = [dghFixed3D, dghHighlightFocus, dghClearSelection, dghDialogFind, dghShowRecNo, dghColumnResize, dghColumnMove, dghExtendVertLines]
        PopupMenu = PM_Grid
        TabOrder = 2
        TitleParams.MultiTitle = True
        object RowDetailData: TRowDetailPanelControlEh
        end
      end
    end
    object Tab2: TRzTabSheet
      Caption = 'Tab2'
      object Panel3: TPanel
        Left = 0
        Top = 0
        Width = 687
        Height = 41
        Align = alTop
        TabOrder = 0
        object Label5: TLabel
          Left = 14
          Top = 12
          Width = 51
          Height = 16
          Caption = #31532#19977#27493
          Font.Charset = DEFAULT_CHARSET
          Font.Color = clWindowText
          Font.Height = -16
          Font.Name = #23435#20307
          Font.Style = [fsBold]
          ParentFont = False
        end
        object Label4: TLabel
          Left = 77
          Top = 12
          Width = 150
          Height = 15
          Caption = #25968#25454#26657#39564#24182#20889#20837#25968#25454#24211
        end
      end
      object Panel6: TPanel
        Left = 0
        Top = 541
        Width = 687
        Height = 50
        Align = alBottom
        TabOrder = 1
        DesignSize = (
          687
          50)
        object Button6: TButton
          Left = 396
          Top = 10
          Width = 75
          Height = 25
          Action = Act_2_P
          Anchors = [akTop, akRight]
          TabOrder = 0
        end
        object Button7: TButton
          Left = 490
          Top = 10
          Width = 75
          Height = 25
          Action = Act_2_N
          Anchors = [akTop, akRight]
          TabOrder = 1
        end
        object Button8: TButton
          Left = 584
          Top = 10
          Width = 75
          Height = 25
          Action = Act_Exit
          Anchors = [akTop, akRight]
          TabOrder = 2
        end
      end
      object Panel8: TPanel
        Left = 0
        Top = 434
        Width = 687
        Height = 30
        Align = alBottom
        Caption = 'Panel8'
        TabOrder = 2
        object PB_JD: TProgressBar
          Left = 1
          Top = 1
          Width = 685
          Height = 28
          Align = alClient
          TabOrder = 0
        end
      end
      object Mem_JCTS: TMemo
        Left = 0
        Top = 41
        Width = 687
        Height = 393
        Align = alClient
        Lines.Strings = (
          'Mem_JCTS')
        TabOrder = 3
      end
      object Panel9: TPanel
        Left = 0
        Top = 464
        Width = 687
        Height = 77
        Align = alBottom
        BevelOuter = bvNone
        TabOrder = 4
        object Label6: TLabel
          Left = 16
          Top = 15
          Width = 191
          Height = 15
          Caption = #27491#22312#22788#29702#25968#25454','#35831#38144#20505'......'
        end
        object lbl_JD: TLabel
          Left = 16
          Top = 42
          Width = 191
          Height = 15
          Caption = #27491#22312#22788#29702#25968#25454','#35831#38144#20505'......'
        end
      end
    end
    object Tab3: TRzTabSheet
      Caption = 'Tab3'
      object Panel4: TPanel
        Left = 0
        Top = 0
        Width = 687
        Height = 41
        Align = alTop
        TabOrder = 0
        object Label7: TLabel
          Left = 14
          Top = 12
          Width = 51
          Height = 16
          Caption = #31532#22235#27493
          Font.Charset = DEFAULT_CHARSET
          Font.Color = clWindowText
          Font.Height = -16
          Font.Name = #23435#20307
          Font.Style = [fsBold]
          ParentFont = False
        end
      end
      object Panel7: TPanel
        Left = 0
        Top = 541
        Width = 687
        Height = 50
        Align = alBottom
        TabOrder = 1
        DesignSize = (
          687
          50)
        object Button9: TButton
          Left = 396
          Top = 10
          Width = 75
          Height = 25
          Anchors = [akTop, akRight]
          Caption = #19978#19968#27493
          TabOrder = 0
        end
        object Button10: TButton
          Left = 490
          Top = 10
          Width = 75
          Height = 25
          Anchors = [akTop, akRight]
          Caption = #19979#19968#27493
          Enabled = False
          TabOrder = 1
        end
        object Button11: TButton
          Left = 584
          Top = 10
          Width = 75
          Height = 25
          Action = Act_Exit
          Anchors = [akTop, akRight]
          TabOrder = 2
        end
      end
    end
  end
  object AQry_CSM: TADOQuery
    LockType = ltBatchOptimistic
    Parameters = <>
    Left = 145
    Top = 184
  end
  object Ds_CSM: TDataSource
    DataSet = AQry_CSM
    Left = 142
    Top = 249
  end
  object ActionList1: TActionList
    Left = 148
    Top = 119
    object Act_Exit: TAction
      Caption = #20851#38381
      OnExecute = Act_ExitExecute
    end
    object Act_0_N: TAction
      Caption = #19979#19968#27493
      OnExecute = Act_0_NExecute
    end
    object Act_1_P: TAction
      Caption = #19978#19968#27493
      OnExecute = Act_1_PExecute
    end
    object Act_1_N: TAction
      Caption = #19979#19968#27493
      OnExecute = Act_1_NExecute
    end
    object Act_2_P: TAction
      Caption = #19978#19968#27493
      OnExecute = Act_2_PExecute
    end
    object Act_2_N: TAction
      Caption = #23436#25104
      OnExecute = Act_2_NExecute
    end
    object Act_3_P: TAction
      Caption = #19978#19968#27493
      OnExecute = Act_3_PExecute
    end
    object Act_3_N: TAction
      Caption = #19979#19968#27493
      OnExecute = Act_3_NExecute
    end
    object Act_GridConfig_AQryCSM: TAction
      Caption = #34920#26684#35774#32622
      OnExecute = Act_GridConfig_AQryCSMExecute
    end
    object Act_DCExcel_AQryCSM: TAction
      Caption = #23548#20986#39044#35272#25968#25454
      OnExecute = Act_DCExcel_AQryCSMExecute
    end
  end
  object PM_Grid: TPopupMenu
    Left = 305
    Top = 214
    object N1: TMenuItem
      Action = Act_GridConfig_AQryCSM
    end
  end
  object AQry_DRM: TADOQuery
    Parameters = <>
    Left = 222
    Top = 129
  end
  object AQry_Tmp: TADOQuery
    Parameters = <>
    Left = 140
    Top = 326
  end
  object AQry_XZ: TADOQuery
    LockType = ltBatchOptimistic
    Parameters = <>
    Left = 224
    Top = 312
  end
  object Ds_1: TDataSource
    DataSet = AQRY_Excel
    OnStateChange = Ds_1StateChange
    OnDataChange = Ds_1DataChange
    OnUpdateData = Ds_1UpdateData
    Left = 38
    Top = 247
  end
  object ACON_DBE: TADOConnection
    LoginPrompt = False
    Left = 46
    Top = 119
  end
  object AQRY_Excel: TADOQuery
    Connection = ACON_DBE
    Parameters = <>
    Left = 41
    Top = 180
  end
  object AQry_DRCMD: TADOQuery
    Parameters = <>
    Left = 231
    Top = 212
  end
  object HzSpell1: THzSpell
    Left = 407
    Top = 98
  end
end



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值