参考代码

procedure TUniFrmeWebEmbedBase.ExportData;
//导出到excel
var
FlexCelImport1: TExcelFile;
i, rowindex, colindex: Integer;
ms : TMemoryStream;
begin
{ 检查数据集 }
if Assigned(cdsMain) and cdsMain.Active then
try
{ 创建Excel文件 }
FlexCelImport1 := TXlsFile.Create(true);//NewFile(1);
FlexCelImport1.NewFile(); // FlexCelImport1.SupportsXlsx := True;
// FlexCelImport1.NewFile(WorkSheetCount, TExcelFileFormat(2) ); //2 = v2010, 1 = v2007, 0 = v2003
// FlexCelImport1.ActiveSheet := 1; cdsMain.First;
{ 第一行为标题 }
rowindex := ;
colindex := ;
for i := to cdsMain.FieldCount - do
{ 只导出数据集中可视的字段 }
if cdsMain.Fields[i].Visible then
begin
FlexCelImport1.SetCellValue(rowindex, colindex,cdsMain.Fields[i].DisplayLabel);
inc(colindex);
end;
{ 依次导出数据 }
while not cdsMain.Eof do
begin
{ 增加一行 }
inc(rowindex);
colindex := ;
for i := to cdsMain.FieldCount - do
{ 只导出数据集中可视的字段 }
if cdsMain.Fields[i].Visible then
begin
{ 时间和日期字段需要单独出来一下,否则出来的都是浮点数 }
if cdsMain.Fields[i].DataType in [ftDate, ftDateTime, ftTime, ftTimeStamp] then
FlexCelImport1.SetCellValue(rowindex, colindex, cdsMain.Fields[i].AsString)
else
FlexCelImport1.SetCellValue(rowindex, colindex, cdsMain.Fields[i].Value);
inc(colindex);
end;
{ 下一条 }
cdsMain.Next;
end;
FlexCelImport1.PrintLandscape := true;
// FlexCelImport1.
{ 创建内存流 }
ms := TMemoryStream.Create;
try
{ 将Excel保存到内存流 }
FlexCelImport1.save(ms);
ms.Position := ;
{ 将数据流发送到客户端,同时指定下载文件名,非常简单 }
UniSession.SendStream(ms, 'usegear.xls' );
finally
ms.Free;
{ 清理内存 }
FlexCelImport1.Free;
end;
except
on E : Exception do
FlexCelImport1.Free;
end;
end; 参考:
http://forums.unigui.com/index.php?/topic/4197-unigrid-dataset-to-xlsx-export-using-tms-flexcel-an-example/?hl=excel https://www.cnblogs.com/ChinaEHR/p/4012113.html
一并感谢。

调用

procedure TUniFrmeWebEmbedBase_authoManage.act_ExportExecute(Sender: TObject);
begin
cdsMain.Data := Unit_dm.DataModule1.getTabeldata('select * from SM_role') ;
inherited;
end;

效果

这里

TUniFrmeWebEmbedBase_authoManage = class(TUniFrmeWebEmbedBase)

TUniFrmeWebEmbedBase = class(TUniFrame)

unigui导出TMS.Flexcel【5】的更多相关文章

  1. unigui导出EXCEL使用NATIVEEXCEL

    unigui导出EXCEL使用NATIVEEXCEL // 需要nativeexcel控件// cxg 2017-9-9 unit myExcel; interface uses System.Sys ...

  2. uniGUI试用笔记(七)

    uniGUI的文件下载由于TUniSession的存在而变得非常简单,最典型的一个例子就是将列表中的所有数据导出到Excel中.服务器上采用TMS FlexCel控件,先将数据集中的记录导入到Exce ...

  3. uniGUI试用笔记(六)

    uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFileUpload的文件 ...

  4. C# 7个读写Excel文件的类库

    转载自:http://www.cnblogs.com/wintersun/archive/2013/02/26/2933294.html 有时我们在项目需要操作Excel文件,读或写,导出数据等.   ...

  5. 13 Amazing Component Sets Driving Success In Delphi Berlin On Android And IOS

    There are quite a few Firemonkey component sets available for Delphi Berlin which can get you ahead ...

  6. unigui 导入导出数据

    导入:首先要用TUniFileUpload将文件从客户端上传至服务端,然后完成导入. TUniFileUpload上传文件的演示代码: UniFileUpload1.Execute; UniFileU ...

  7. 基于uniGui开发的Delphi后台管理框架uniFramework

    uniGui是基于Delphi的一套开发Web应用的UI框架,前端使用的是ExtJS,最新版的uniGUI1.5 1480已支持新版的ExtJS6.5.3.我认为uniGUI是目前Delphi下最完善 ...

  8. unigui+fastReport实现web打印方案

    近日单位需要用到会议通知单的打印功能,故引出篇. unigui是delphi环境下快速开发web应用的优秀工具,不再赘述,下面直接记录使用搭配使用,基本逻辑就是: unigui实现数据录入和浏览的we ...

  9. unigui+fastreport报表打印

    unigui+fastreport报表打印   unigui+fastreport报表打印 FASTREPORT导出成PDF报表,UNIGUI的TUniURLFrame显示PDF报表并打印. func ...

随机推荐

  1. Python---NumPy模块---矩阵操作

    1.NumPy访问[数组&矩阵] 2.矩阵的运算 3.NumPy通用函数 4.NumPy矩阵的合并和分割 print "**********Numpy访问(数组&矩阵)*** ...

  2. ubuntu16.04 查看CPU是几核

    ubuntu 16.04下查看机器是cpu是几核的 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核 ...

  3. 记录利用CSS完美解决前端图片变形问题

    在头条IT学堂看到CSS完美解决前端图片变形问题的文章,就记录分享下: 一.让图片的宽度或者高度等于容器的宽度或高度,多余的裁掉,然后让图片居中: <style type="text/ ...

  4. java笔记线程方式2

    方式2:实现Runnable接口 * 步骤: *   A:自定义类MyRunnable实现Runnable接口 *   B:重写run()方法 *   C:创建MyRunnable类的对象 *   D ...

  5. bzoj 1045: [HAOI2008] 糖果传递【瞎搞】

    感觉我的智商可能不够写题解,就直接截了hzwer的blog 地址http://hzwer.com/2656.html #include<iostream> #include<cstd ...

  6. 实数类型c++

    数据类型 定义标识符 数值范围 占字节数 有效位数 单精度浮点数 float -3.4E+38-3.4E+38 4(32位) 6-7位 双精度浮点数 double -1.7E+308-1.7E+308 ...

  7. [Qt Creator 快速入门] 第1章 Qt Creator简介

    Qt Creator 是一个跨平台的.完整的 Qt 集成开发环境,其中包括了高级C++代码编辑器.项目和生成管理工具.集成的上下文相关的帮助系统.图形化调试器.代码管理和浏览工具等.这一章先对 Qt ...

  8. 小白的python之路 序

    计算机专科毕业,.net开发已有8年有余,中途断断续续,似懂非懂,积累了一些经验知识,但是不求甚解,属于那种一瓶不满半瓶子晃荡,这么一个状态. 主要从事web开发,涉及一些前端jq等,还有接口开发,搜 ...

  9. Codewars练习Python

    计算一个数组的中间数,数的两边和相等,并返回index值 如:数组[1,2,3,4,6] 返回3(数组序号从0开始) def find_even_index(arr): ""&qu ...

  10. mongo 3.4分片集群系列之八:分片管理

    这个系列大致想跟大家分享以下篇章: 1.mongo 3.4分片集群系列之一:浅谈分片集群 2.mongo 3.4分片集群系列之二:搭建分片集群--哈希分片 3.mongo 3.4分片集群系列之三:搭建 ...