?? uexcelagent.pas
字號:
{*******************************************************}
{ 軟件名稱: --通用-- }
{ 單元名稱: uExcelAgent.pas }
{ 中文名稱: Excel訪問代理基類 }
{ 單元描述: 實現IExcelAgent接口 }
{ 創(chuàng) 建: SamonHua }
{ 創(chuàng)建日期: 2007-12-19 }
{ 修 改: 參見VSS記錄 }
{ 版權所有 (C)2002-2007 深圳壹平臺信息技術有限公司}
{*******************************************************}
unit uExcelAgent;
interface
uses
SysUtils, Classes, Variants, uIExcelAgent;
type
TExcelAgent = class(TComponent, IExcelAgent)
private
FFileName: string;
FReaded: Boolean;
protected
FActiveSheetIndex: Integer;
//Excel文件名讀寫方法
function GetFileName: string;
procedure SetFileName(Value: string);
function GetSheetCount: Integer; virtual;
function GetActiveSheetIndex: integer; virtual;
function GetActiveSheetName: string; virtual; abstract;
public
constructor Create(AOwner: TComponent); override;
property FileName: string read GetFileName write SetFileName;
property Readed: Boolean read FReaded write FReaded default false;
property SheetCount: Integer read GetSheetCount;
property ActiveSheetIndex: Integer read GetActiveSheetIndex;
property ActiveSheetName: string read GetActiveSheetName;
//讀入和保存文件
procedure ReadFile; virtual; abstract;
procedure WriteFile; virtual; abstract;
procedure WriteToStream(Stream: TStream); virtual; abstract;
//Sheet相關
//激活Sheet,所有的讀寫操作都是針對當前的Sheet
function ActivateSheet(SheetIndex: integer): boolean; virtual;
function AddSheet(SheetName: string): Integer; virtual; abstract;
function InsertSheet(SheetName: string; SheetIndex: Integer = -1): Integer; virtual; abstract;
procedure DeleteSheet(SheetIndex: Integer); virtual; abstract;
//單元格讀方法
function GetCellValue(Col, Row: integer): Variant; virtual; abstract;
function GetCellStringValue(Col, Row: integer; Default: string = ''): string; virtual; abstract;
function GetCellIntegerValue(Col, Row: integer; Default: Integer = 0): Integer; virtual; abstract;
function GetCellFloatValue(Col, Row: integer; Default: Double = 0): Double; virtual; abstract;
function GetCellDateTimeValue(Col, Row: integer): TDateTime; virtual; abstract;
function GetCellBooleanValue(Col, Row: integer; Default: Boolean = False): Boolean; virtual; abstract;
//單元格寫方法
procedure SetCellValue(Col, Row: integer; Value: Variant); virtual; abstract;
procedure SetCellStringValue(Col, Row: integer; Value: string); virtual; abstract;
procedure SetCellIntegerValue(Col, Row: integer; Value: integer); virtual; abstract;
procedure SetCellFloatValue(Col, Row: integer; Value: Double); virtual; abstract;
procedure SetCellDateTimeValue(Col, Row: integer; Value: TDateTime); virtual; abstract;
procedure SetCellBooleanValue(Col, Row: integer; Value: Boolean); virtual; abstract;
//合并/拆分單元格
procedure MergedCells(Col1, Row1, Col2, Row2: integer); virtual; abstract;
procedure DeleteMergedCell(Col1, Row1, Col2, Row2: integer); virtual; abstract;
procedure DeleteMergedCellByCell(Col, Row: integer); virtual; abstract;
//獲取包含指定單元格的坐標
function GetMergedCell(Col, Row: integer; var Col1, Row1, Col2, Row2: integer): boolean; virtual; abstract;
end;
implementation
{ TExcelAgent }
function TExcelAgent.ActivateSheet(SheetIndex: integer): boolean;
begin
Result := false;
end;
constructor TExcelAgent.Create(AOwner: TComponent);
begin
inherited;
FReaded := false;
FActiveSheetIndex := -1;
end;
function TExcelAgent.GetActiveSheetIndex: integer;
begin
Result := FActiveSheetIndex;
end;
function TExcelAgent.GetFileName: string;
begin
result := FFileName;
end;
function TExcelAgent.GetSheetCount: Integer;
begin
Result := 0;
end;
procedure TExcelAgent.SetFileName(Value: string);
begin
FFileName := Value;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -