unidbgrid自带一个导出Excel功能,但是只能是导出当前页的数据,如果要导出全部数据,就不能使用分页功能。
网上有很多采用第三方控件,实现导出功能,这里分享XLSReadWriteII实现导出数据的办法
首先利用XLSReadWriteII在服务器上生成全部数据的Excel文件,然后利用UniSession.SendFile下载到客户端。
代码如下:
procedure Trk_rk.UniLabel4Click(Sender: TObject);
var
i,j: Integer;
begin
txls.Create(nil);
try
txls.Sheets[0].AsString[0,0]:='单号';
txls.Sheets[0].AsString[1,0]:='日期';
txls.Sheets[0].AsString[2,0]:='品名';
UniMainModule.FD_storage.First;
j:=UniMainModule.FD_storage.RecordCount+1;
for i:=1 to j - 1 do
begin
txls.Sheets[0].AsString[0,i]:=UniMainModule.FD_storage.FieldByName('rkcode').Value;
txls.Sheets[0].AsString[1,i]:=UniMainModule.FD_storage.FieldByName('rkdate').Value;
txls.Sheets[0].AsString[2,i]:=