📄 tmsuexceladapter.pas
字号:
unit tmsUExcelAdapter;
{$INCLUDE ..\FLXCOMPILER.INC}
interface
uses
Classes, SysUtils,
{$IFDEF FLX_NEEDSVARIANTS} variants, {$ENDIF}
tmsUFlxMessages, tmsUFlxFormats;
type
TExcelFile=class
protected
//GetCellValue GetCellData are almost the same in native mode (Except for offset in columns) They change for OLE, because "Data" are cached and "Values" are not
function GetCellValue(aRow, aCol: integer): Variant; virtual; abstract;
procedure SetCellValue(aRow, aCol: integer; const Value: Variant); virtual; abstract;
function GetCellValueX(aRow, aCol: integer): TXlsCellValue; virtual; abstract;
procedure SetCellValueX(aRow, aCol: integer; const Value: TXlsCellValue); virtual; abstract;
function GetCellFormula(aRow, aCol: integer): UTF16String; virtual; abstract;
procedure SetCellFormula(aRow, aCol: integer; const Value: UTF16String); virtual; abstract;
function GetCommentsCount(Row: integer): integer; virtual; abstract;
function GetCommentText(Row, aPos: integer): UTF16String; virtual; abstract;
function GetCommentColumn(Row, aPos: integer): integer; virtual; abstract;
function GetPictureName(Row, aPos: integer): UTF16String; virtual; abstract;
function GetPicturesCount(Row: integer): integer; virtual; abstract;
function GetExcelNameCount: integer; virtual; abstract;
function GetRangeName(index: integer): UTF16String; virtual; abstract;
function GetRangeR1(index: integer): integer; virtual; abstract;
function GetRangeR2(index: integer): integer; virtual; abstract;
function GetRangeC1(index: integer): integer; virtual; abstract;
function GetRangeC2(index: integer): integer; virtual; abstract;
procedure SetRangeR1(index: integer; value: integer); virtual; abstract;
procedure SetRangeR2(index: integer; value: integer); virtual; abstract;
procedure SetRangeC1(index: integer; value: integer); virtual; abstract;
procedure SetRangeC2(index: integer; value: integer); virtual; abstract;
function GetRangeSheet(index: integer): integer; virtual; abstract;
function GetActiveSheet: integer; virtual; abstract;
procedure SetActiveSheet(const Value: integer); virtual; abstract;
function GetActiveSheetName: UTF16String; virtual; abstract;
procedure SetActiveSheetName(const Value: UTF16String); virtual; abstract;
function GetActiveSheetCodeName: UTF16String; virtual; abstract;
procedure SetActiveSheetCodeName(const Value: UTF16String); virtual; abstract;
function GetActiveSheetVisible: TXlsSheetVisible; virtual; abstract;
procedure SetActiveSheetVisible(const Value: TXlsSheetVisible); virtual; abstract;
function GetColumnWidth(aCol: integer): integer; virtual; abstract;
function GetColumnWidthHiddenIsZero(aCol: integer): integer; virtual; abstract;
function GetRowHeight(aRow: integer): integer;virtual; abstract;
function GetRowHeightHiddenIsZero(aRow: integer): integer;virtual; abstract;
procedure SetColumnWidth(aCol: integer; const Value: integer);virtual; abstract;
procedure SetRowHeight(aRow: integer; const Value: integer);virtual; abstract;
function GetRowHidden(const aRow: integer): boolean;virtual; abstract;
function GetColumnHidden(const aCol: integer): boolean;virtual; abstract;
procedure SetRowHidden(const aRow: integer; const Value: boolean);virtual; abstract;
procedure SetColumnHidden(const aCol: integer; const Value: boolean);virtual; abstract;
function GetDefaultColWidth: integer;virtual;abstract;
function GetDefaultRowHeight: integer;virtual;abstract;
function GetAutoRowHeight(Row: integer): boolean;virtual;abstract;
procedure SetAutoRowHeight(Row: integer; const Value: boolean);virtual;abstract;
function GetColumnFormat(aColumn: integer): integer;virtual;abstract;
function GetRowFormat(aRow: integer): integer;virtual; abstract;
procedure SetColumnFormat(aColumn: integer; const Value: integer);virtual; abstract;
procedure SetRowFormat(aRow: integer; const Value: integer);virtual;abstract;
function GetCellFormat(aRow, aCol: integer): integer;virtual;abstract;
procedure SetCellFormat(aRow, aCol: integer; const Value: integer);virtual; abstract;
function GetColorPalette(Index: TColorPaletteRange): LongWord; virtual; abstract;
procedure SetColorPalette(Index: TColorPaletteRange; const Value: LongWord); virtual; abstract;
function GetFontList(index: integer): TFlxFont;virtual; abstract;
procedure SetFontList(index: integer; Value :TFlxFont);virtual; abstract;
function GetFormatList(index: integer): TFlxFormat;virtual; abstract;
procedure SetFormatList(index: integer; Value :TFlxFormat);virtual; abstract;
function GetPageFooter: UTF16String; virtual; abstract;
function GetPageHeader: UTF16String; virtual; abstract;
procedure SetPageFooter(const Value: UTF16String); virtual; abstract;
procedure SetPageHeader(const Value: UTF16String); virtual; abstract;
function GetShowGridLines: boolean;virtual; abstract;
procedure SetShowGridLines(const Value: boolean);virtual; abstract;
function GetShowGridHeaders: boolean;virtual; abstract;
procedure SetShowGridHeaders(const Value: boolean);virtual; abstract;
function GetPrintGridLines: boolean;virtual; abstract;
procedure SetPrintGridLines(const Value: boolean);virtual; abstract;
function GetSheetZoom: integer;virtual;abstract;
procedure SetSheetZoom(const Value: integer);virtual;abstract;
function GetMargins: TXlsMargins;virtual;abstract;
procedure SetMargins(const Value: TXlsMargins);virtual;abstract;
function GetPrintNumberOfHorizontalPages: word;virtual;abstract;
function GetPrintNumberOfVerticalPages: word;virtual;abstract;
function GetPrintScale: integer;virtual;abstract;
function GetPrintOptions: byte;virtual;abstract;
function GetPrintToFit: boolean;virtual;abstract;
procedure SetPrintNumberOfHorizontalPages(const Value: word);virtual;abstract;
procedure SetPrintNumberOfVerticalPages(const Value: word);virtual;abstract;
procedure SetPrintScale(const Value: integer);virtual;abstract;
procedure SetPrintOptions(const Value: byte);virtual;abstract;
procedure SetPrintToFit(const Value: boolean);virtual;abstract;
function GetPrintHCentered: boolean;virtual;abstract;
function GetPrintVCentered: boolean;virtual;abstract;
procedure SetPrintHCentered(const Value: boolean);virtual;abstract;
procedure SetPrintVCentered(const Value: boolean);virtual;abstract;
function GetPrintCopies: integer; virtual; abstract;
function GetPrinterDriverSettings: TPrinterDriverSettings; virtual; abstract;
function GetPrintPaperSize: TExcelPaperSize; virtual; abstract;
function GetPrintXResolution: integer; virtual; abstract;
function GetPrintYResolution: integer; virtual; abstract;
procedure SetPrintCopies(const Value: integer); virtual; abstract;
procedure SetPrinterDriverSettings(const Value: TPrinterDriverSettings); virtual; abstract;
procedure SetPrintPaperSize(const Value: TExcelPaperSize); virtual; abstract;
procedure SetPrintXResolution(const Value: integer); virtual; abstract;
procedure SetPrintYResolution(const Value: integer); virtual; abstract;
function GetInvalidateFormulas: boolean; virtual; abstract;
procedure SetInvalidateFormulas(const Value: boolean); virtual; abstract;
function GetIsXltTemplate: boolean; virtual; abstract;
procedure SetIsXltTemplate(const Value: boolean); virtual; abstract;
function GetCellMergedBounds(aRow, aCol: integer): TXlsCellRange;virtual;abstract;
function GetCellMergedList(index: integer): TXlsCellRange;virtual;abstract;
function GetOptions1904Dates: boolean;virtual;abstract;
function GetOptionsR1C1: boolean;virtual;abstract;
function GetOptionsSaveExternalLinkValues: boolean;virtual;abstract;
procedure SetOptions1904Dates(const Value: boolean);virtual;abstract;
procedure SetOptionsR1C1(const Value: boolean);virtual;abstract;
procedure SetOptionsSaveExternalLinkValues(const Value: boolean);virtual;abstract;
function GetOptionsPrecisionAsDisplayed: boolean;virtual;abstract;
procedure SetOptionsPrecisionAsDisplayed(const Value: boolean);virtual;abstract;
function GetOutlineSummaryColsRightOfDetail: boolean;virtual;abstract;
function GetOutlineSummaryRowsBelowDetail: boolean;virtual;abstract;
function GetOutlineAutomaticStyles: boolean;virtual;abstract;
procedure SetOutlineSummaryColsRightOfDetail(const Value: boolean);virtual;abstract;
procedure SetOutlineSummaryRowsBelowDetail(const Value: boolean);virtual;abstract;
procedure SetOutlineAutomaticStyles(const Value: boolean);virtual;abstract;
public
procedure Connect;virtual;abstract;
procedure Disconnect;virtual;abstract;
procedure OpenFile(const FileName: TFileName);virtual;abstract;
procedure OpenFileAndSearch(const FileName: TFileName);virtual;abstract;
procedure NewFile(const SheetCount: integer=3);virtual;abstract;
procedure LoadFromStream(const Stream: TStream);virtual;abstract;
procedure CloseFile; virtual; abstract;
property ActiveSheet: integer read GetActiveSheet write SetActiveSheet;
procedure InsertAndCopySheets (const CopyFrom, InsertBefore, SheetCount: integer);virtual;abstract;
procedure ClearSheet;virtual;abstract;
procedure DeleteSheet(aSheetCount: integer);virtual;abstract;
function SheetCount: integer;virtual;abstract;
property ActiveSheetName: UTF16String read GetActiveSheetName write SetActiveSheetName;
property ActiveSheetCodeName: UTF16String read GetActiveSheetCodeName write SetActiveSheetCodeName;
property ActiveSheetVisible: TXlsSheetVisible read GetActiveSheetVisible write SetActiveSheetVisible;
procedure SelectSheet(const SheetNo:integer); virtual; abstract;
property PageHeader: UTF16String read GetPageHeader write SetPageHeader;
property PageFooter: UTF16String read GetPageFooter write SetPageFooter;
property ShowGridLines: boolean read GetShowGridLines write SetShowGridLines;
property ShowGridHeaders: boolean read GetShowGridHeaders write SetShowGridHeaders;
property PrintGridLines: boolean read GetPrintGridLines write SetPrintGridLines;
property SheetZoom: integer read GetSheetZoom write SetSheetZoom;
property Margins: TXlsMargins read GetMargins write SetMargins; //Margins are in inches
property PrintToFit: boolean read GetPrintToFit write SetPrintToFit;
property PrintOptions: byte read GetPrintOptions write SetPrintOptions;
property PrintScale: integer read GetPrintScale write SetPrintScale;
property PrintNumberOfHorizontalPages: word read GetPrintNumberOfHorizontalPages write SetPrintNumberOfHorizontalPages;
property PrintNumberOfVerticalPages: word read GetPrintNumberOfVerticalPages write SetPrintNumberOfVerticalPages;
property PrintHCentered: boolean read GetPrintHCentered write SetPrintHCentered;
property PrintVCentered: boolean read GetPrintVCentered write SetPrintVCentered;
property PrintPaperSize: TExcelPaperSize read GetPrintPaperSize write SetPrintPaperSize;
property PrintCopies: integer read GetPrintCopies write SetPrintCopies;
property PrintXResolution: integer read GetPrintXResolution write SetPrintXResolution;
property PrintYResolution: integer read GetPrintYResolution write SetPrintYResolution;
property PrinterDriverSettings: TPrinterDriverSettings read GetPrinterDriverSettings write SetPrinterDriverSettings;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -