⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmsuexceladapter.pas

📁 TMS Component Pack V5.0包含了超过 280 个为 Delphi 以及 C++Builder 设计的 TMS 生产控件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -