📄 unit1.~pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, ExtCtrls, Db, DBTables, VBaseExport,
VExcelExport;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
Query1: TQuery;
Panel1: TPanel;
Button1: TButton;
ComboBox1: TComboBox;
check1: TCheckBox;
Button2: TButton;
Memo1: TMemo;
DBGrid1: TDBGrid;
QExport: TVExcelExport;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
Query1.Close;
Query1.SQL.Assign(Memo1.Lines);
Query1.Open;
//显示字段列表
ComboBox1.Items.Clear;
for i := 0 to Query1.Fields.Count - 1 do
begin
ComboBox1.Items.Add(Query1.Fields[0].FieldName);
end;
ComboBox1.ItemIndex := 0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
fieldstr: TStringList;
i: integer;
begin
if not Check1.Checked then
begin
QExport.FileName := 'D:\data\数据倒出.xls';
QExport.Execute;
end
else
begin
fieldstr := TStringList.Create;
//取相应字段的可能取值
Query1.First;
while not Query1.EOF do
begin
if fieldstr.IndexOf(Query1.Fields[ComboBox1.ItemIndex].AsString) = -1
then
fieldstr.Add(Query1.Fields[ComboBox1.ItemIndex].AsString);
Query1.Next;
end;
//按字段进行数据倒出
for i := 0 to fieldstr.Count - 1 do
begin
Query1.Filter := ComboBox1.Items.Strings[ComboBox1.ItemIndex] + '=' +
fieldstr.Strings[i];
Query1.Filtered := true;
QExport.FileName := 'D:\data\' + fieldstr.Strings[i] + '.xls';
QExport.Execute;
end;
fieldstr.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -