当前位置: 首页 > ds >正文

ag-grid-react 列表导出csv列表getDataAsCsv (自定义导出列表配置)自定义新增,修改导出内容

1.ag-grid-react getDataAsCsv 新增导出字段

方法:临时添加列再导出

你可以通过 columnApi.setColumnDefs() 临时添加需要导出的字段,然后再调用 getDataAsCsv,导出后再恢复原来的列。

import { useRef } from 'react';
import { AgGridReact } from 'ag-grid-react';
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-alpine.css';
import { cloneDeep } from 'lodash';const MyGrid = () => {const gridRef = useRef(null);const extraExportColumn = {headerName: "Hidden Info",field: "hiddenInfo",suppressColumnsToolPanel: true,hide: true, // 不在界面上显示};const rowData = [{ name: "Alice", age: 25, hiddenInfo: "Secret A" },{ name: "Bob", age: 30, hiddenInfo: "Secret B" },];const exportWithExtraField = () => {const api = gridRef.current.api;const columnApi = gridRef.current.columnApi.columnController;const originalColumnDefs = cloneDeep(columnApi.columnDefs)const updatedDefs = [...originalColumnDefs, extraExportColumn];columnApi.setColumnDefs(updatedDefs);const csv = api.getDataAsCsv();const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });// 下载const link = document.createElement("a");link.href = URL.createObjectURL(blob);link.download = "export.csv";link.click();// 恢复原始列定义columnApi.setColumnDefs(originalColumnDefs);};return (<div className="ag-theme-alpine" style={{ height: 400, width: 600 }}><button onClick={exportWithExtraField}>导出包含隐藏字段</button><AgGridReactref={gridRef}rowData={rowData}columnDefs={originalColumnDefs}/></div>);
};export default MyGrid;

api:getDataAsCsv(params) 导出列表api配置可参考官网,
columnKeys: 可配置 需要导出项,默认列表展示啥导出啥
fileName:‘sheet-1’,注意这里是页脚
processCellCallback:(params) => {} 导出单元格数据处理

https://ag-grid.com/react-data-grid/csv-export/#reference-CsvExportParams-columnKeys

核心代码columnApi.setColumnDefs ,这个api 同步的,不能用react setSate异步 一影响列表加载
欢迎大家留言,支持的点个赞

http://www.xdnf.cn/news/3338.html

相关文章:

  • 印刷企业绩效考核管理制度与绩效优化路径
  • 在Java中使用Files类的copy()方法复制文件的示例
  • B/S架构:定义、原理及其在软件测试中的应用
  • 利用SingleKeyDatabaseShardingAlgorithm,自定义分片算法实现
  • 简易APP更新功能
  • 深入理解CSS显示模式与盒子模型
  • 数据库12(游标)
  • 安全指南 | MCP安全检查清单:AI工具生态系统的隐形守护者
  • 深入浅出循环神经网络(RNN):原理、应用与实战
  • Tomcat DOS漏洞复现(CVE-2025-31650)
  • 数据库规范
  • 国产化海光C86架构服务器安装windows实录
  • Transformer架构指南:从原理到实战资源全更新
  • 用Power shell脚本批量发布rdl文件到SQL Server Reporting Service
  • 详细介绍C++中指针解引用
  • 枚举法——C++算法【泪光2929】
  • ShardingSphere5详细笔记
  • Vue2 和 Vue3 的核心区别
  • 腾讯云web服务器配置步骤是什么?web服务器有什么用途?
  • TM1668芯片学习心得二
  • 【SpringBoot】基于mybatisPlus的博客系统
  • 【计算机视觉】目标检测:深度解析MMDetection:OpenMMLab开源目标检测框架实战指南
  • Winform(6.序列化方式)
  • 港口危货储存单位主要安全管理人员考试精选题目
  • [Unity]设置自动打包脚本
  • Copilot 祝你走在AI前沿:2025 年 4 月动态
  • 小程序中的页面跳转
  • TimeDistill:通过跨架构蒸馏的MLP高效长期时间序列预测
  • 有状态服务与无状态服务:差异、特点及应用场景全解
  • leetcode76