unigui导出TMS.Flexcel【5】
1.unidbgrid的rowedit=true2.unigui的demo-\Demos\Desktop\DBAppDemo\SimpleDemo.dproj【11】3.unigui的session【1】4.unigui菜单【3】5.unigui的ini文件读写【6】
6.unigui导出TMS.Flexcel【5】
7.unigui+fastreport 打印【4】8.unigui显示uniTreeVview使用TUniTreeNode内存泄漏的问题【14】9.unigui显示websocket服务端向客户端发送信息【15】10.学习unigui【17】-数据集和JSON互相转换-DataSetConverter4D 开源项目11.学习unigui【18】unidbgrid的GridsGroupingSorting12.学习unigui【19】unidbgrid的Group By This Field汉化13.学习unigui【20】unistringGrid14.学习unigui【21】unistringGrid的标题栏动态增加15.学习unigui【22】unistringGrid的标题栏双击事件16.学习unigui【23】uniDBGrid的使用摘要17.学习unigui【25】关于图标18.学习unigui【24】Echart的使用:多个坐标系19.学习unigui【26】关于Unigui控件的个性化CSS框架20.学习unigui【27】像pg的jsonb一样编辑json。21.unigui的菜单树补习【2】treeview22.unigui的程序编译后自动运行傻傻的手动【7】23.unigui的ServerModule的重要属性【8】24.unigui的错误delphi clientHeight:property clientheight does not exist【10】25.学习unigui【28】UniGUI接收POST/GET参考代码

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(1); // FlexCelImport1.SupportsXlsx := True; // FlexCelImport1.NewFile(WorkSheetCount, TExcelFileFormat(2) ); //2 = v2010, 1 = v2007, 0 = v2003 // FlexCelImport1.ActiveSheet := 1; cdsMain.First; { 第一行为标题 } rowindex := 1; colindex := 1; for i := 0 to cdsMain.FieldCount -1 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 := 1; for i := 0 to cdsMain.FieldCount -1 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 := 0; { 将数据流发送到客户端,同时指定下载文件名,非常简单 } 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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报