delphi - 如何在 Delphi 中以编程方式抑制 Crystal Viewer 中的组
问题描述
我有一个由 POS 系统创建的水晶报表(.RPT 文件),我需要将此报表中的所有记录导入数据库,以便在我的程序中使用它。问题是它是分组的并且有页眉和页脚,当像这样导出时,它会将很多废话导出到 ODBD 数据库。我想禁止所有组和标题,只导出详细信息。在水晶设计师中,我可以通过单击每个组并抑制它们来做到这一点。我需要在 Delphi 中执行此操作。查看我的工作代码以查看数据,当前将所有内容导出到 Excel。
`unit Unit2;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleServer,
CrystalActiveXReportViewerLib14_TLB, Vcl.OleCtrls, OleAuto,
CrystalReportViewerExportLib_TLB;
type
TForm2 = class(TForm)
CrystalRpt: TCrystalActiveXReportViewer;
Button1: TButton;
Button2: TButton;
CrystalExport: TCrystalReportExport;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var
oApp : variant ;
begin
oApp := CreateOleObject('CrystalRuntime.Application') ;
crystalrpt.ReportSource := oApp.OpenReport('c:\guess.rpt',1);
{crystalrpt.ShowGroup('Group Header #1') ;}
crystalrpt.ViewReport ;
end;
procedure TForm2.Button2Click(Sender: TObject);
var
cry : TCrystalActiveXReportViewer;
oRpt, oApp : variant;
i : integer;
begin
//Export the report to a file
oApp := CreateOleObject('CrystalRuntime.Application');
oRpt := oApp.OpenReport('c:\guess.rpt',1);
oRpt.ExportOptions.FormatType := 29; //excel 8
oRpt.ExportOptions.DiskFileName := 'c:\output.xls';
oRpt.ExportOptions.DestinationType := 1; //file destination
oRpt.ExportOptions.
//Export(False) => do NOT prompt.
//Export(True) will give runtime prompts for export options.
oRpt.Export(false);
end;
end.`
解决方案
推荐阅读
- python - scipy覆盖警告过滤器?
- python-3.x - 如何在python中更改文件图标
- android - 中间有drawable的圆形按钮
- typescript - 如何通过带有 VueCLI/Typescript 的 mixin 传递模板
- sqlite - 根据 SQLite 中的 list_order 对具有路径索引的嵌套表进行排序
- vue.js - 如何制作自动滚动到某个部分的参数
- reactjs - 如果从 cmd(不是浏览器)请求页面,getStaticProps 不起作用
- batch-file - 使用批处理文件发送 TAB 键并输入密码
- google-analytics - 如何在 Google Analytics 中记录在页面上花费的时间?
- vb.net - iText 7.1.15 'SymbolEncoding' 不是受支持的编码名称