Delphi操作Excel类

时间:2013-04-26 09:46:13
【文件属性】:

文件名称:Delphi操作Excel类

文件大小:22KB

文件格式:PAS

更新时间:2013-04-26 09:46:13

Delphi Excel

使用方便,功能强大。 type FileCheckResult = (fcrNotExistend,fcrNotXSLFile,fcrValidXSL); //文件不存在,不是XSL文件,合法的XSL文件 TOLEExcel = class(TComponent) private FExcelCreated: Boolean; FVisible: Boolean; FExcel: Variant; //Excel程序对象 FWorkBook: Variant; //Excel工作簿对象 FWorkSheet: Variant; //Excel工作簿 工作表对象 FCellFont: TFont; //单元格字体对象 FTitleFont: TFont; // FFontChanged: Boolean; FIgnoreFont: Boolean; FFileName: TFileName; //********************************************自己添加*****************************// FCreateFromFile:Boolean; //指示是否打开已有文件 FExcelCaption:string; //用程序打开Excel的窗体标 //*********************************来自U_Report*****************************// FRCPrePage:Integer; //每页显示的记录数 FMax:Integer; //最大的数组个数 procedure SetExcelCellFont(var Cell: Variant); procedure SetExcelTitleFont(var Cell: Variant); procedure GetTableColumnName(const Table: TTable; var Cell: Variant); procedure GetQueryColumnName(const Query: TQuery; var Cell: Variant); procedure GetFixedCols(const StringGrid: TStringGrid; var Cell: Variant); procedure GetFixedRows(const StringGrid: TStringGrid; var Cell: Variant); procedure GetStringGridBody(const StringGrid: TStringGrid; var Cell: Variant); protected procedure SetCellFont(NewFont: TFont); procedure SetTitleFont(NewFont: TFont); procedure SetVisible(DoShow: Boolean); function GetCell( ARow,ACol: Integer): string; procedure SetCell(ACol, ARow: Integer; const Value: string); function GetDateCell(ACol, ARow: Integer): TDateTime; procedure SetDateCell(ACol, ARow: Integer; const Value: TDateTime); //*********************************************自己添加************************************// procedure SetCaption(ACaption:string);//设置打开文件后,Excel主程序的窗体标题 function GetCapiton:string;//返回打开文件后,Excel主程序的窗体标题 public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure CreateExcelInstance; property Cell[ACol, ARow: Integer]: string read GetCell write SetCell; property DateCell[ACol, ARow: Integer]: TDateTime read GetDateCell write SetDateCell; function IsCreated: Boolean; procedure TableToExcel(const Table: TTable); procedure QueryToExcel(const Query: TQuery); procedure StringGridToExcel(const StringGrid: TStringGrid); procedure SaveToExcel(const FileName: string); //*********************************来自U_Report*****************************// function GetRepRange(x,y:integer):String;//将(x,y)坐标形式改为Excel区域(A1:B1)形式 procedure CellMerge(x1,y1,x2,y2:integer);//合并指定单元格 procedure SetRepLine(x1,x2,y1,y2:Integer); //加边框线 procedure CellWrite(RepData:String;x,y:Integer);//单元格写数据 procedure CellFormat(x1,y1,x2,y2:integer);//指定单元格格式 procedure CellGS(x1,y1,x2,y2,f:integer);//灵活单元格格式 procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer);//给当前工作表重命名、进行页面设置 procedure SetAddMess(H_Mess1,H_Mess2,H_Mess3,F_Mess1,F_Mess2,F_Mess3:String);//设置附加信息 procedure SetRepBody(x,ch:Integer;cw:Double;cf:String);//设置整体各列数据格式 procedure CreatTitle(TitleName:String;y:Integer);//设置标题 procedure CreatSubHead(SubTitle:Array of String); //设置常规子表头 procedure SubHeadFormat(y,r:Integer);//设置子表头格式 procedure DTSubHeadGS(x,y,r:Integer);//设置动态子表头格式 procedure WriteData(RepData:String;x,y:Integer;flag:Integer=0); //写入数据 procedure RepPageBreak(x,y,r:Integer);//分页、复制表头 procedure RepSaveAs(FileName:String); //保存为*.xls文 procedure RepPrivew;//预览 //*********************************************自己添加************************************// function FileCheck:FileCheckResult;//检查文件 function GetRowCount:Integer; published property TitleFont: TFont read FTitleFont write SetTitleFont; property CellFont: TFont read FCellFont write SetCellFont; property Visible: Boolean read FVisible write SetVisible; property IgnoreFont: Boolean read FIgnoreFont write FIgnoreFont; property FileName: TFileName read FFileName write FFileName; //*********************************来自U_Report*****************************// property RCPrePage:Integer read FRCPrePage write FRCPrePage; property MaxAC:Integer read FMax write FMax; //*********************************************自己添加************************************// property CreateFromFile:Boolean read FCreateFromFile write FCreateFromFile; property Caption:string read GetCapiton write SetCaption; end;


网友评论

  • 一般吧 大多数方法没什么用 还得自己写啊
  • 非常不错很详细
  • 还行吧。不是很完善,分太高了,对不起这么多的分!
  • 类函数很多,值得学习
  • 感谢分享,还是整理的比较全的。
  • 不错,找了好多对Excel的操作类,这个类的操作函数算多的了
  • 非常不错 很详细
  • 不错啊,挺好的。