⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 excel.~pas

📁 品质管理系统:delphi+sql实现了制造企业在生产过程中对产品质量的控制
💻 ~PAS
字号:
unit excel;

interface

uses
  Windows, Messages,ComObj, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBTables;

type
  Texce = class(TForm)
    Query1: TQuery;
    OpenDialog1: TOpenDialog;
    Panel1: TPanel;
    SpeedButton2: TSpeedButton;
    SpeedButton5: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton1: TSpeedButton;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Query2: TQuery;
    OpenDialog2: TOpenDialog;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ListBox2DblClick(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
     sjbname:string;  { Public declarations }
  end;

var
  exce: Texce;

implementation

{$R *.dfm}

procedure Texce.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure Texce.SpeedButton1Click(Sender: TObject);
var i:integer;
begin
   i:=0;
   while listbox1.SelCount>0 do
   begin
      if listbox1.Selected[i] then
      begin
       listbox2.Items.append(listbox1.Items[i]);
       listbox1.Items.Delete(i);
      end
      else
        i:=i+1;
   end;
end;

procedure Texce.SpeedButton3Click(Sender: TObject);
 var i:integer;
begin
   i:=0;
   while listbox2.SelCount>0 do
   begin
      if listbox2.Selected[i] then
      begin
       listbox1.Items.append(listbox2.Items[i]);
       listbox2.Items.Delete(i);
      end
      else
        i:=i+1;
   end;
end;

procedure Texce.SpeedButton4Click(Sender: TObject);
var i:integer;
begin
 for i:=0 to listbox1.items.count-1 do
     listbox2.Items.Add(listbox1.Items[i]);
  listbox1.Items.Clear ;
end;

procedure Texce.SpeedButton5Click(Sender: TObject);
var i:integer;
begin
for i:=0 to listbox2.items.count-1 do
     listbox1.Items.Add(listbox2.Items[i]);
  listbox2.Items.Clear ;
end;

procedure Texce.SpeedButton2Click(Sender: TObject);
var myexcel,sheet:variant;
s:string;
i,j,m:integer;
begin
  opendialog1.Execute;
  s:=opendialog1.FileName;
  m:=listbox2.Items.Count;
//  if fileexists(s) then
//     deletefile(s);
  myexcel:=createoleObject('Excel.Application');
  myExcel.visible:=true;
  query1.First;
  myExcel.workbooks.add(1);
  sheet:=myExcel.workbooks[1].worksheets[1];
  sheet.name:=sjbname;
  for j:=1 to m do
  begin
    sheet.cells[1,j]:=listbox2.items[j-1];
  end;
  for i:=2 to query1.RecordCount+1 do
  begin
    for j:=1 to m do
    begin
      sheet.cells[i,j]:=query1.FieldByName(listbox2.items[j-1]).asstring;
    end;
    query1.Next;
  end;
  myexcel.activeworkbook.saveas(s);
end;

procedure Texce.FormShow(Sender: TObject);
var i:integer;
begin
  listbox1.Items.Clear;
  for i:=0 to query1.fieldcount-1 do
  begin
    listbox1.Items.Add(query1.Fields[i].FieldName);
  end;
end;

procedure Texce.ListBox2DblClick(Sender: TObject);
begin
  listbox1.Items.Add(listbox2.Items[listbox2.itemindex]);
  listbox2.Items.Delete(listbox2.ItemIndex);
end;

procedure Texce.ListBox1DblClick(Sender: TObject);
begin
listbox2.Items.Add(listbox1.Items[listbox1.itemindex]);
  listbox1.Items.Delete(listbox1.itemindex);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -