📄 data.~pas
字号:
unit data;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids,ADODB, DB, StdCtrls, Buttons, Excel2000,
OleServer, ExcelXP;
type
Tdatafrm = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
ComboBox1: TComboBox;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
SaveDialog1: TSaveDialog;
ExcelWorkbook1: TExcelWorkbook;
procedure FormShow(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure Init;
public
{ Public declarations }
end;
var
datafrm: Tdatafrm;
implementation
uses book;
{$R *.dfm}
procedure Tdatafrm.FormShow(Sender: TObject);
begin
self.Init;
end;
procedure Tdatafrm.Init;
var
AdoqInit : TADOQuery;
strsql : string;
count : integer;
index : integer;
begin
AdoqInit := TADOQuery.Create(self);
AdoqInit.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'\data.mdb;Persist Security Info=False';
strsql := 'select * from coredata order by 序号';
AdoqInit.SQL.Clear;
AdoqInit.SQL.Add(strsql);
AdoqInit.Open;
// self.StringGrid1.Cols.Clear;
// self.StringGrid1.Rows.Clear;
self.StringGrid1.Cells[0,0] := '序号';
self.StringGrid1.Cells[1,0] := '井号';
self.StringGrid1.Cells[2,0] := '岩样号';
self.StringGrid1.Cells[3,0] := '实验方向';
self.StringGrid1.Cells[4,0] := '岩样长度';
self.StringGrid1.Cells[5,0] := '岩样直径';
self.StringGrid1.Cells[6,0] := '窗子长度';
self.StringGrid1.Cells[7,0] := '空气温度';
self.StringGrid1.Cells[8,0] := '粘度';
self.StringGrid1.Cells[9,0] := '大气压';
self.StringGrid1.Cells[10,0] := '1/Pu';
self.StringGrid1.Cells[11,0] := '平均流量';
self.StringGrid1.Cells[12,0] := '实验时间';
self.StringGrid1.Cells[13,0] := '渗透率';
self.StringGrid1.Cells[14,0] := '渗透率平均值';
self.StringGrid1.Cells[15,0] := '克氏渗透率';
self.StringGrid1.Cells[16,0] := '相关系数';
count := AdoqInit.Recordset.RecordCount;
self.StringGrid1.RowCount := count +1;
index := 0;
while not AdoqInit.Eof do
begin
index := index + 1;
self.StringGrid1.Cells[0,index] := AdoqInit.fieldbyname('序号').AsString;
self.StringGrid1.Cells[1,index] := AdoqInit.fieldbyname('井号').AsString;
self.StringGrid1.Cells[2,index] := AdoqInit.fieldbyname('岩样号').AsString;
self.StringGrid1.Cells[3,index] := AdoqInit.fieldbyname('实验方向').AsString;
self.StringGrid1.Cells[4,index] := AdoqInit.fieldbyname('岩样长度').AsString;
self.StringGrid1.Cells[5,index] := AdoqInit.fieldbyname('岩样直径').AsString;
self.StringGrid1.Cells[6,index] := AdoqInit.fieldbyname('窗子长度').AsString;
self.StringGrid1.Cells[7,index] := AdoqInit.fieldbyname('空气温度').AsString;
self.StringGrid1.Cells[8,index] := AdoqInit.fieldbyname('粘度').AsString;
self.StringGrid1.Cells[9,index] := AdoqInit.fieldbyname('大气压').AsString;
self.StringGrid1.Cells[10,index] := AdoqInit.fieldbyname('1/Pu').AsString;
self.StringGrid1.Cells[11,index] := AdoqInit.fieldbyname('平均流量').AsString;
self.StringGrid1.Cells[12,index] := AdoqInit.fieldbyname('实验时间').AsString;
self.StringGrid1.Cells[13,index] := AdoqInit.fieldbyname('渗透率').AsString;
self.StringGrid1.Cells[14,index] := AdoqInit.fieldbyname('渗透率平均值').AsString;
self.StringGrid1.Cells[15,index] := AdoqInit.fieldbyname('克氏渗透率').AsString;
self.StringGrid1.Cells[16,index] := AdoqInit.fieldbyname('相关系数').AsString;
AdoqInit.Next;
end;
AdoqInit.Close;
AdoqInit.Free;
end;
procedure Tdatafrm.Button2Click(Sender: TObject);
var
AdoqInit : TADOQuery;
strsql : string;
begin
if self.Edit2.Text = '' then
exit;
AdoqInit := TADOQuery.Create(self);
AdoqInit.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'\data.mdb;Persist Security Info=False';
strsql := 'select * from coredata where 序号 = ';
strsql := strsql + self.Edit2.Text;
AdoqInit.SQL.Clear;
AdoqInit.SQL.Add(strsql);
try
AdoqInit.Open;
except
exit;
end;
AdoqInit.Delete;
AdoqInit.Close;
AdoqInit.Free;
end;
procedure Tdatafrm.BitBtn1Click(Sender: TObject);
var
filename : string;
Adoq : TADOQuery;
strsql : string;
index : integer;
i : integer;
begin
// self.SaveDialog1.Execute;
// filename := self.SaveDialog1.FileName;
filename := 'test';
if filename <> '' then
begin
Try
ExcelApplication1.Connect; {启动Excel}
Except
MessageDlg('Excel may not be installed',mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=True; {使Excel可见}
ExcelApplication1.Caption:='Excel Application';
ExcelApplication1.Workbooks.Add(Null,0); {添加工作簿}
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]); {使ExcelWorkbook1对象和工作簿相关联}
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet); {使ExcelWorksheet1对象和工作簿的第一张表格关联}
index := 1;
ExcelWorksheet1.Cells.Item[1,1].value := '序号';
ExcelWorksheet1.Cells.Item[1,2].value := '井号';
ExcelWorksheet1.Cells.Item[1,3].value := '岩样号';
ExcelWorksheet1.Cells.Item[1,4].value := '实验方向';
ExcelWorksheet1.Cells.Item[1,5].value := '岩样长度';
ExcelWorksheet1.Cells.Item[1,6].value := '岩样直径';
ExcelWorksheet1.Cells.Item[1,7].value := '窗子长度';
ExcelWorksheet1.Cells.Item[1,8].value := '空气温度';
ExcelWorksheet1.Cells.Item[1,9].value := '粘度';
ExcelWorksheet1.Cells.Item[1,10].value := '大气压';
ExcelWorksheet1.Cells.Item[1,11].value := '1/pu';
ExcelWorksheet1.Cells.Item[1,12].value := '平均流量';
ExcelWorksheet1.Cells.Item[1,13].value := '实验时间';
ExcelWorksheet1.Cells.Item[1,14].value := '渗透率';
ExcelWorksheet1.Cells.Item[1,15].value := '渗透率平均值';
ExcelWorksheet1.Cells.Item[1,16].value := '克氏渗透率';
ExcelWorksheet1.Cells.Item[1,17].value := '相关系数';
for i := 1 to self.StringGrid1.RowCount -1 do
begin
index := index + 1;
ExcelWorksheet1.Cells.Item[index,1].value := self.StringGrid1.Cells[0,index-1];
ExcelWorksheet1.Cells.Item[index,2].value := self.StringGrid1.Cells[1,index-1];
ExcelWorksheet1.Cells.Item[index,3].value := self.StringGrid1.Cells[2,index-1];
ExcelWorksheet1.Cells.Item[index,4].value := self.StringGrid1.Cells[3,index-1];
ExcelWorksheet1.Cells.Item[index,5].value := self.StringGrid1.Cells[4,index-1];
ExcelWorksheet1.Cells.Item[index,6].value := self.StringGrid1.Cells[5,index-1];
ExcelWorksheet1.Cells.Item[index,7].value := self.StringGrid1.Cells[6,index-1];
ExcelWorksheet1.Cells.Item[index,8].value := self.StringGrid1.Cells[7,index-1];
ExcelWorksheet1.Cells.Item[index,9].value := self.StringGrid1.Cells[8,index-1];
ExcelWorksheet1.Cells.Item[index,10].value := self.StringGrid1.Cells[9,index-1];
ExcelWorksheet1.Cells.Item[index,11].value := self.StringGrid1.Cells[10,index-1];
ExcelWorksheet1.Cells.Item[index,12].value := self.StringGrid1.Cells[11,index-1];
ExcelWorksheet1.Cells.Item[index,13].value := strtodate(self.StringGrid1.Cells[12,index-1]);
ExcelWorksheet1.Cells.Item[index,14].value := self.StringGrid1.Cells[13,index-1];
ExcelWorksheet1.Cells.Item[index,15].value := self.StringGrid1.Cells[14,index-1];
ExcelWorksheet1.Cells.Item[index,16].value := self.StringGrid1.Cells[15,index-1];
ExcelWorksheet1.Cells.Item[index,17].value := self.StringGrid1.Cells[16,index-1];
end;
// ExcelApplication1.Save;
// ExcelApplication1.Quit;
//ExcelApplication1.Save(filename);
// ExcelWorkbook1.SaveAs(filename,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,0);
// ExcelWorkbook1.SaveAs(filename,null,null,null,null,null,null,null,null,null,null,1);
// ExcelWorkbook1.SaveAs(filename,'','','','','','','','','','',1);
ExcelApplication1.Disconnect;
end;
end;
procedure Tdatafrm.Button1Click(Sender: TObject);
var
AdoqInit : TADOQuery;
strsql : string;
count : integer;
index : integer;
begin
if self.Edit1.Text = '' then
exit;
AdoqInit := TADOQuery.Create(self);
AdoqInit.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'\data.mdb;Persist Security Info=False';
strsql := 'select * from coredata where '+self.ComboBox1.Text+' like ''%'+self.Edit1.text+'%'' order by 序号';
AdoqInit.SQL.Clear;
AdoqInit.SQL.Add(strsql);
try
AdoqInit.Open;
except
exit;
end;
// self.StringGrid1.Cols.Clear;
// self.StringGrid1.Rows.Clear;
self.StringGrid1.Cells[0,0] := '序号';
self.StringGrid1.Cells[1,0] := '井号';
self.StringGrid1.Cells[2,0] := '岩样号';
self.StringGrid1.Cells[3,0] := '实验方向';
self.StringGrid1.Cells[4,0] := '岩样长度';
self.StringGrid1.Cells[5,0] := '岩样直径';
self.StringGrid1.Cells[6,0] := '窗子长度';
self.StringGrid1.Cells[7,0] := '空气温度';
self.StringGrid1.Cells[8,0] := '粘度';
self.StringGrid1.Cells[9,0] := '大气压';
self.StringGrid1.Cells[10,0] := '1/Pu';
self.StringGrid1.Cells[11,0] := '平均流量';
self.StringGrid1.Cells[12,0] := '实验时间';
self.StringGrid1.Cells[13,0] := '渗透率';
self.StringGrid1.Cells[14,0] := '渗透率平均值';
self.StringGrid1.Cells[15,0] := '克氏渗透率';
self.StringGrid1.Cells[16,0] := '相关系数';
count := AdoqInit.Recordset.RecordCount;
self.StringGrid1.RowCount := count +1;
index := 0;
while not AdoqInit.Eof do
begin
index := index + 1;
self.StringGrid1.Cells[0,index] := AdoqInit.fieldbyname('序号').AsString;
self.StringGrid1.Cells[1,index] := AdoqInit.fieldbyname('井号').AsString;
self.StringGrid1.Cells[2,index] := AdoqInit.fieldbyname('岩样号').AsString;
self.StringGrid1.Cells[3,index] := AdoqInit.fieldbyname('实验方向').AsString;
self.StringGrid1.Cells[4,index] := AdoqInit.fieldbyname('岩样长度').AsString;
self.StringGrid1.Cells[5,index] := AdoqInit.fieldbyname('岩样直径').AsString;
self.StringGrid1.Cells[6,index] := AdoqInit.fieldbyname('窗子长度').AsString;
self.StringGrid1.Cells[7,index] := AdoqInit.fieldbyname('空气温度').AsString;
self.StringGrid1.Cells[8,index] := AdoqInit.fieldbyname('粘度').AsString;
self.StringGrid1.Cells[9,index] := AdoqInit.fieldbyname('大气压').AsString;
self.StringGrid1.Cells[10,index] := AdoqInit.fieldbyname('1/Pu').AsString;
self.StringGrid1.Cells[11,index] := AdoqInit.fieldbyname('平均流量').AsString;
self.StringGrid1.Cells[12,index] := AdoqInit.fieldbyname('实验时间').AsString;
self.StringGrid1.Cells[13,index] := AdoqInit.fieldbyname('渗透率').AsString;
self.StringGrid1.Cells[14,index] := AdoqInit.fieldbyname('渗透率平均值').AsString;
self.StringGrid1.Cells[15,index] := AdoqInit.fieldbyname('克氏渗透率').AsString;
self.StringGrid1.Cells[16,index] := AdoqInit.fieldbyname('相关系数').AsString;
AdoqInit.Next;
end;
AdoqInit.Close;
AdoqInit.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -