關于delphi intraweb+fastreport做WEB報表的問題
系統環境:win7旗版+IE8
編程環境:delphi xe10+intraweb14.0.52+FastReports 5.2.12
因近期在學習intraweb,在學習制作報表時完參考了高勇的資料,如下代碼:
procedure TIWForm_YJB.IWButton5Click(Sender: TObject);
var
LFile: string;
LOptions: string;
LWindowName: string;
LURL: string;
begin
//匯入報表模板檔案3.fr3
frxReport1 .LoadFromFile(WebApplication.ApplicationPath+ 'files\YJB.fr3');
//定義臨時保存在服務器上的報表檔案名
LFile:= 'temp.htm';
//WebApplication.AppID是服務器為每一個用戶生成的唯一的一個字串, 這樣就保證了用戶只能呼叫自己生成的報表
frxHTML4DivExport1.FileName:= WebApplication.ApplicationPath+ 'files\' + WebApplication.AppID+ '\' + LFile;
//生成 files目錄下的唯一檔案夾
ForceDirectories(ExtractFileDir(frxHTML4DivExport1.FileName));
//準備報表資料
frxReport1.PrepareReport;
//將報表資料以 HTML格式匯出到檔案 frxHTMLExport1 .FileName中
frxReport1.Export(frxHTML4DivExport1) ;
//以下為將報表發送到客戶端//視窗名稱
LWindowName:= 'HTML報表示例';
//是否有滾動條,IE視窗的長和寬 ,可以為空字串,如果為空則視窗這完整的 IE視窗。
//LOptions:= 'scrollbars=yes' ;
LOptions:= 'scrollbars=yes,width=800,height=600';
//給出在服務器上生成的報表的URL地址
LURL:= WebApplication.AppURLBase+'/FilesNC/'+WebApplication.AppID+'/' +LFile;
//LURL:=WebApplication.AppURLBase+'/Files/'+WebApplication.AppID+'/'+LFile;
WebApplication.NewWindow(LURL);
//打開一個新 IE視窗,將報表展現出來
AddToInitProc('NewWindow('''+ LURL+''',''' + LWindowName+''',''' + LOptions+''');');
//AddToInitProc('NewWindow("'+ LURL+ '", "' + LWindowName+ '","' + LOptions+'");'); }
end;
在實際運行中臨時檔案Temp.html能在服務器端生成,在瀏覽器打開報表時無法打開
報表URL:http://filesnc/84AC8IGxxug~tPRCo5AlWq/temp.htm
在高勇的代碼中為什么
LURL:= WebApplication.AppURLBase+'/FilesNC/'+WebApplication.AppID+'/' +LFile;會是FilesNC,明明檔案放在Files里呀,我把他改成Files也是不對的,請問下是什么原因?萬分感謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69252.html
標籤:VCL組件開發及應用
