C#服务器端⽣成报告⽂档:使⽤帆软报表⽣成Word、Pdf报告 ⼀、帆软报表简介
报表⼯具中,帆软报表相⽐Crystal Report(⽔晶报表)、SQL Server Report Service(SSRS)等报表⼯具来说算是佼佼者,此外帆软报表在统计图表、数据填报⽅⾯应⽤也不错,此处仅针对帆软的基本报表功能的应⽤说事⼉。
getsavefilename ⼆、服务器端集成
帆软报表使⽤Java实现,可部署在Tomcat上,客户端查看报表时可直接在浏览器上呈现。
对于企业应⽤中报告⽂档的⽣成,可通过模拟Web请求获取到报表/报告的Word、Pdf输出⽂档;如果需要对⽣成的⽂档做⼆次加⼯,例如与其他⽂档合并等,可接着使⽤Word操作组件、服务(例如DocX、MS Word DCOM等)或PDF操作组件(iTextSharp等)操作⽂档,最终⽣成⼀份完整报告。
参数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];
string fileSaveFolder;
fileName = Guid.NewGuid().ToString();
string fileSaveName = fileName + extName;
string fileSavePath = fileSaveFolder + fileSaveName;
FileStream fs = new FileStream(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();
复制代码(编辑:雷林鹏 来源:⽹络)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论