项目需求,一组数据根据类型区分打印多张报表,经过研究利用pdf导出实现。
利用插件 iTextSharp.dll.
核心代码如下
//报表名
private string strReportFile = " CalibrationFlowOrderRpt.rpt";
List<Stream> listStream = new List<Stream>();
List<string> test = (List<string>)Session["TestType"];//分组
arry_Id = (string[])Session["PrinterArrId"];
for (int i = 0; i < arry_Id.Length; i++)
{
strIds += "'" + arry_Id[i] + "'" + ",";
}
//全部数据 id 主键,代码的写法很low,不要在意这些
strIds = strIds.Trim(new char[] { ',' });
//报表对象 初始化
rpt = new ReportDocument();
rpt.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
rpt.Load(Server.MapPath(strReportFile