帆软报表嵌入python程序_C#教程之C#服务器端生成报告文档:使用帆软报表
一、帆軟報表簡介
報表工具中,帆軟報表相比Crystal Report(水晶報表)、SQL Server Report Service(SSRS)等報表工具來說算是佼佼者,此外帆軟報表在統計圖表、數據填報方面應用也不錯,此處僅針對帆軟的基本報表功能的應用說事兒。
http://www.fanruan.com/
二、服務器端集成
帆軟報表使用Java實現,可部署在Tomcat上,客戶端查看報表時可直接在瀏覽器上呈現。
對于企業應用中報告文檔的生成,可通過模擬Web請求獲取到報表/報告的Word、Pdf輸出文檔;如果需要對生成的文檔做二次加工,例如與其他文檔合并等,可接著使用Word操作組件、服務(例如DocX、MS Word DCOM等)或PDF操作組件(iTextSharp等)操作文檔,最終生成一份完整報告。
例如帆軟報表服務路徑為http://localhost:8075/WebReport/ReportServer,傳遞參數reportlets可指定要訪問的報表路徑,傳遞給該報表的參數可繼續通過paramname=paramvalue的格式追加到url上,使用HTTP Get請求該URL,則可訪問到報表。
參數format指定輸出文件格式,可指定為pdf、doc、xls,輸出PDF、Word、Excel文件;需要注意的是,輸出的Word文件實質是RTF文件,如果需要用DocX等Office Open XML操作時,首先需要轉換格式,最好的方式莫過于使用微軟Word DCOM;同樣,Excel也是97-2003格式;報表輸出這方面來說,帆軟做的不夠好。
請求報表:
HttpWebRequest request =(HttpWebRequest)WebRequest.Create(Url);
request.Method= "GET";
HttpWebResponse response;try{
response=(HttpWebResponse)request.GetResponse();
}catch(Exception ex)
{
}if (response.ContentType != "application/pdf" && response.ContentType != "application/msword" && response.ContentType != "application/x-excel")
{
response.Close();
}
Stream stream= response.GetResponseStream();
寫到文件:
int bufferSize = 2048;byte[] bytes = new byte[bufferSize];stringfileSaveFolder;
fileName=Guid.NewGuid().ToString();string fileSaveName = fileName +extName;string fileSavePath = fileSaveFolder +fileSaveName;
FileStream fs= newFileStream(fileSavePath, FileMode.Create);int length = stream.Read(bytes, 0, bufferSize);while (length > 0)
{
fs.Write(bytes,0, length);
length= stream.Read(bytes, 0, bufferSize);
}
stream.Close();
fs.Close();
總結
以上是生活随笔為你收集整理的帆软报表嵌入python程序_C#教程之C#服务器端生成报告文档:使用帆软报表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有限差分法的基本思想
- 下一篇: C#设计模式之5——生成器模式