unit OpExcell;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XLSReadWriteII2, QFileCtrls, OleCtrls, DB, ADODB, CellFormats2, XLSFonts2, BIFFRecsII2, Rows2;
type
TStringArray = array of array of string;
TOpExcell = class(TObject) public function ReadXLSII(var Content: TStringArray; fileName: string): BOOL; //读excel表格 function WriteXLSII(var Content: TStringArray; fileName: string): BOOL; //写excel表格
end;
implementation
function TOpExcell.ReadXLSII(var Content: TStringArray; fileName: string): BOOL; var iR, iC, i, j: Integer; XLS: TXLSReadWriteII2; begin Result := True; XLS := TXLSReadWriteII2.Create(nil); XLS.fileName := fileName; XLS.Read; //得到行列 iR := XLS.Sheets[0].LastRow; iC := XLS.Sheets[0].LastCol; try SetLength(Content, iR + 1, iC + 1); for i := 0 to iR do begin for j := 0 to iC do begin Content[i, j] := XLS.Sheets[0].AsString[j, i]; end; end; except Result := False; end; if Assigned(XLS) then begin XLS.Destroy; end; end;
function TOpExcell.WriteXLSII(var Content: TStringArray; fileName: string): BOOL; var iR, iC, i, j: Integer; XLS: TXLSReadWriteII2; begin XLS := TXLSReadWriteII2.Create(nil); XLS.fileName := fileName; try try iR := Length(Content); iC := Length(Content[0]); for i := 0 to iR - 1 do begin for j := 0 to iC - 1 do begin XLS.Sheets[0].AsString[j, i] := Content[i, j]; end; end; XLS.Write; Result := True; except Result := False; end; finally XLS.Destroy; end end; end.
|
请发表评论