📄 excelunit.pas
字号:
unit ExcelUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, OWC_TLB, StdCtrls, ExtCtrls, OleCtrls, ADODB;
type
TForm1 = class(TForm)
Spreadsheet1: TSpreadsheet;
Panel1: TPanel;
Button1: TButton;
ADOCommand1: TADOCommand;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
RS : _RecordSet; // ADO Recordset
I,J : Integer; // Counters
NumRecs : Integer; // Number Of Records
C : OLEVariant; // Color
begin
// Execute SQL Query
RS := ADOCommand1.Execute;
// Move to the first record
RS.MoveFirst;
//
// Clear the spreadsheet
//
Spreadsheet1.ActiveSheet.Cells.Item[1, 1].Select;
Spreadsheet1.ActiveSheet.UsedRange.Clear;
//
// Set the titles for columns
//
J := 0;
For I := 0 to RS.Fields.Count-1 do
Begin
Inc(J);
Spreadsheet1.ActiveSheet.Cells.Item[1, J].Set_Value(
RS.Fields[I].Name)
End;
//
// Now, let's set the data
//
I := 1;
While NOT RS.EOF do
Begin
For J := 1 to RS.Fields.Count do
begin
Spreadsheet1.ActiveSheet.Cells.Item[I+1, J].Set_Value(
VarToStr(RS.Fields[J-1].Value));
end;
// Move to the next record
RS.MoveNext;
Inc(I)
End;
NumRecs := I;
With Spreadsheet1.Range[Spreadsheet1.Cells.Item[1, 1],
Spreadsheet1.Cells.Item[1, RS.Fields.Count]].Font do
Begin
Set_Name('Arial Narrow');
Set_Bold(True);
Set_Size(11);
End;
With Spreadsheet1.Range[Spreadsheet1.Cells.Item[1, 1],
Spreadsheet1.Cells.Item[NumRecs, RS.Fields.Count]] do
Begin
AutoFitColumns;
Set_HAlignment(ssHAlignLeft);
End;
C := OLEVariant('CornSilk');
Spreadsheet1.ActiveSheet.UsedRange.Interior.Set_Color(@C);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -