如何设置Excel与Delphi关联导出完美报表
控件部分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;
2016-03-21
1、通过Excel的VBA,在Excel中执行类似宏的代码,将Excel中的数据转存为文本或其它Delphi能读取的格式文件,剩下的就是Delphi的事了
2、直接通过Delphi的代码访问到Excel表格,将Excel文件作为一个对象来处理,同样可分出单元格和各单元格的各数值等属性,可以搜一下Delphi如何访问EXCEL数据搞清楚具体操作