编辑:我已经解决了以前的问题,通过将导出代码更改为:
DiskFileDestinationOptions dFO = new DiskFileDestinationOptions();
dFO.DiskFileName = "C:\\Users\\User\\receipt.txt";
TextFormatOptions tfO = new TextFormatOptions();
tfO.CharactersPerInch = 12;
tfO.LinesPerPage = 70;
ExportOptions options = new ExportOptions();
options.ExportFormatType = ExportFormatType.Text;
options.ExportDestinationType = ExportDestinationType.DiskFile;
options.ExportDestinationOptions = dFO;
options.ExportFormatOptions = tfO;
rpt.Export(options);
但是我有一个新问题,tfO.LinesPerPage = 70;
该代码指定页面的长度,如果我将报告导出到文本文件并且包含70行以上(它将),则文本文件将包含巨大的空白以表示各个页面。所以我想做的是使LinesPerPage
值足够大,但这会在文件末尾创建很多空白空间。如何修剪空白行?我当时正在考虑循环文件的每一行,但是之间还需要其他空行。
我正在使用以下代码以编程方式将Crystal报表导出到文本文件:
rpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.Text, "C:\\Users\\User\\receipt.txt");
这是收据类型报告,使用Crystal Report Viewer查看时,报告的一部分看起来像这样
信用卡详细信息部分是一个子报告,单独查看时看起来像这样
但是将其导出到文本文件后,文件具有这样的巨大空间
我已将其隔离到此子报表中,因为如果我抑制该部分而没有得到很大的空格,那么如果没有数据,该子报表中的所有内容都将被抑制,我也勾选了{{1} }在主报表和子报表上,这就是主报表中子报表部分的外观。
我还将子报表设置为“无打印机”和固定的纸张尺寸。
感谢您的帮助,如果您需要了解其他设置,请发表评论。