如何设置Excel与Delphi关联导出完美报表

 我来答
yangjinlong76
活跃答主

2016-03-18 · 非职业答题人
知道顶级答主
回答量:5.7万
采纳率:94%
帮助的人:1.7亿
展开全部
  控件部分1:先安装FlexCel控件,并引入安装路径。

  控件部分2:在DFM窗体,加入FlexCelReport、XLSAdapter及FlexCelImport三个控件。

  Excel部分1:首先,设置好报表格式,本例格式如图。

  Excel部分2:定义数据导出区域(例中为选中A1:P7):在菜单中依次选择插入>>名称>>定义。

  Excel部分3:在弹出的窗口中,输入“__main__”(此项固定),单击添加按钮,再按确定按钮。

  Excel部分4:重中之重:定义关联query的数据导出项(例中为选中A4:P4),导出Excel时,会自动显示所有记录行。

  Excel部分5:在弹出的窗口中,输入“__qyXSmaster__”(例中的qyXSmaster为用户自定义项,即为query的名称),单击添加按钮,再按确定按钮。

  Excel部分6:设置数据列,以便于对应query中的例名并导出相应数据。格式为##qyXSmaster(query名称)##ilab_name(列名),记得一定要打上两个#。至此,Excel的部分已经设置完毕。

  代码部分:接下来,为代码实现部分。在导出按钮中,参照代码如下:
  procedure TfmSM310.muN4Click(Sender: TObject);
  var dir :string;
  begin
  Screen.Cursor := crHourglass;
  qytemp2.Close;
  qytemp2.ParamByName('mo_no').AsString := mo_no; //mo_no为条件参数
  qytemp2.Open;
  dir := GetCurrentDir; //获取导出路径
  if fileexists(dir+'\SamplesItem_1.xls') then
  deletefile(dir+'\SamplesItem_1.xls'); //如导出路径中已存在导出文件,先删除;
  FlexcelReport1.FileName := dir+'\SamplesItem_1.xls'; //预定义导出文件名
  FlexcelReport1.Template := reportpath+'SamplesItem.xls'; //设置加载模板名
  try
  FlexcelReport1.Run;
  finally
  Screen.Cursor := crDefault;
  end;
  ShellExecute(0, nil, PChar(dir+'\SamplesItem_1.xls'), nil, nil, SW_SHOWNORMAL);
  Screen.Cursor := crDefault;
  end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式