背景:我需要为我的销售人员提供每周报告包.该软件包包含几个(5-10)水晶报告.
问题: 我想允许用户运行所有报告,并且只运行一个报告.我以为我可以通过创建报告然后执行以下操作来完成此操作:
List<ReportClass> reports = new List<ReportClass>();
reports.Add(new WeeklyReport1());
reports.Add(new WeeklyReport2());
reports.Add(new WeeklyReport3());
<snip>
foreach (ReportClass report in reports)
{
report.ExportToDisk(ExportFormatType.PortableDocFormat, @"c:\reports\" + report.ResourceName + ".pdf");
}
Run Code Online (Sandbox Code Playgroud)
这将为我提供一个包含完整报告的文件夹,但我想通过电子邮件向每个人发送一份包含所有每周报告的PDF文件.所以我需要将它们结合起来.
有没有安装更多第三方控件的简单方法?我已经有了DevExpress和CrystalReports,我宁愿不再添加太多.
将它们组合在foreach循环中还是单独循环中是否最好?(或另一种方式)
谢谢
我试图将两个PDF文件读入两个内存流,然后返回一个包含两个流数据的流.但我似乎不明白我的代码有什么问题.
示例代码:
string file1Path = "Sampl1.pdf";
string file2Path = "Sample2.pdf";
MemoryStream stream1 = new MemoryStream(File.ReadAllBytes(file1Path));
MemoryStream stream2 = new MemoryStream(File.ReadAllBytes(file2Path));
stream1.Position = 0;
stream1.Copyto(stream2);
return stream2; /*supposed to be containing data of both stream1 and stream2 but contains data of stream1 only*/
Run Code Online (Sandbox Code Playgroud)