procedure TPrint.SaveToExcel(DBGridTemp:TTechDBGrid20);
var
ExcelApp:Variant;
page:Variant;
i,j,n:Integer;
savedialog:TSaveDialog;
BM:TBookmark;
sFileName:string;
HiFlag,LiFlag:Boolean;
function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false; //返回值为假(即文件不被使用)
if not FileExists(fName) then exit; //如果文件不存在则退出
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,
0 {this is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE); //如果CreateFile返回失败那么Result为真(即文件正在被使用)
if not Result then //如果CreateFile函数返回是成功
CloseHandle(HFileRes); //那么关闭句柄
end;
begin
if DBGridTemp.DataSource.DataSet.IsEmpty then //判断TDBGRID是否有数据
begin
Exit;
end;
SaveDialog := TSaveDialog.Create(nil);
SaveDialog.Filter := 'Excel2000-Excel2003|*.xls|Excel2007|*.xlsx';
SaveDialog.DefaultExt := '*.xls';
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载