unit uRpClientDs;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, cxControls, cxSSheet, ComCtrls, cxSSTypes, cxSSStyles,
DB, ADODB, DBClient, Grids, DBGrids;
function GetRpDataSet(lRpName: string; lIniRow: Integer): TDataSet;
implementation
function GetRpDataSet(lRpName: string; lIniRow: Integer): TDataSet;
var
lcell01: TcxSSCellObject;
I, J, lWide: Integer;
cxSheetBook: TcxSpreadSheetBook;
lClientDs: TClientDataSet;
begin
if not FileExists(lRpName) then Exit;
cxSheetBook := TcxSpreadSheetBook.Create(nil);
lClientDs := TClientDataSet.Create(nil);
try
cxSheetBook.LoadFromFile(lRpName);
try
for I := 0 to cxSheetBook.Pages[0].ColumnCount - 1 do // Iterate
begin
lWide := cxSheetBook.Pages[0].Cols.Size[I];
if lWide <> 0 then
lClientDs.FieldDefs.Add('FIELD' + IntToStr(I + 1), ftString, lWide);
end; // for
lClientDs.CreateDataSet;
lClientDs.Open;
for I := lIniRow - 1 to cxSheetBook.Pages[0].RowCount - 1 do // Iterate
begin
lClientDs.Append;
for J := 0 to cxSheetBook.Pages[0].ColumnCount - 1 do // Iterate
begin
lcell01 := cxSheetBook.Pages[0].GetCellObject(J, I);
lClientDs.Fields[J].AsString := lcell01.Text;
//lcell02.Text := lcell01.Text;
end; // for
lClientDs.Post;
end; // for
Result := lClientDs;
except
Result := nil;
end;
finally
cxSheetBook.Free;
end;
end;
end.
内存表clientDataSet
最新推荐文章于 2021-02-24 05:26:05 发布