AG Grid
企业级数据表格和网格组件,业界公认功能最全面的 JavaScript 数据表格解决方案
精选工具数据表格企业级UI组件库React
AG Grid 是企业级 JavaScript 数据表格组件,提供免费社区版和商业企业版。支持 React、Angular、Vue 和原生 JavaScript,覆盖排序筛选、行分组、主/子表、集成图表、公式计算等企业级场景,零第三方依赖。
AG Grid
企业级数据表格和网格组件,业界公认功能最全面的 JavaScript 数据表格解决方案。
技术简介说明
AG Grid 是由 AG Grid Ltd 开发和维护的企业级 JavaScript 数据表格组件,自 2014 年发布以来已成为前端数据展示领域的事实标准之一。其设计理念是提供一个"无所不包"的数据网格解决方案,在不依赖任何第三方库的前提下,覆盖从基础排序筛选到高级行分组、主/子表、集成图表、公式计算等企业级场景。
AG Grid 的核心竞争力在于其双版本策略:免费的 Community 版覆盖基础数据展示需求,Enterprise 版提供 AI 工具包、服务端行模型、透视表、Excel 导出等高级能力。这种模式使其既能作为开源方案被广泛采用,又能为企业客户提供专业支持和高级特性。
AG Grid 支持所有主流前端框架——React、Angular、Vue 以及原生 JavaScript,并且以出色的性能和零第三方依赖著称。截至 2026 年,AG Grid 已迭代至 36.0.0 版本,持续保持高频更新,是全球使用最广泛的商业数据网格组件之一。
基本信息
| 属性 | 详情 |
|---|---|
| 官网 | https://www.ag-grid.com/ |
| GitHub | https://github.com/ag-grid/ag-grid |
| License | Community: MIT(免费);Enterprise: 商业许可($999/开发者/年) |
| 最新版本 | v36.0.0(2026 年 6 月 24 日发布) |
| 主要维护者 | AG Grid Ltd( Sean Landsman / Niall Crosby 创立) |
| GitHub Stars | ~15,400+ |
| 框架支持 | React、Angular、Vue、原生 JavaScript |
| npm 包 | ag-grid-community / ag-grid-enterprise |
快速上手
安装
# npm
npm install ag-grid-community ag-grid-react # React 项目
npm install ag-grid-community ag-grid-angular # Angular 项目
npm install ag-grid-community ag-grid-vue3 # Vue 3 项目
# 仅 Community 版(免费)
npm install ag-grid-community
# Enterprise 版(需购买许可)
npm install ag-grid-enterprise基础配置
// React 示例
import { AgGridReact } from 'ag-grid-react';
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-quartz.css';
// 若使用 Enterprise 功能
import 'ag-grid-enterprise';最小示例
import React from 'react';
import { AgGridReact } from 'ag-grid-react';
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-quartz.css';
const MyGrid = () => {
const [rowData] = React.useState([
{ make: 'Toyota', model: 'Celica', price: 35000 },
{ make: 'Ford', model: 'Mondeo', price: 32000 },
{ make: 'Porsche', model: 'Boxster', price: 72000 },
]);
const [columnDefs] = React.useState([
{ field: 'make' },
{ field: 'model' },
{ field: 'price', editable: true },
]);
return (
<div className="ag-theme-quartz" style={{ height: 400, width: 600 }}>
<AgGridReact rowData={rowData} columnDefs={columnDefs} />
</div>
);
};核心概念与架构
架构设计
AG Grid 采用自研渲染引擎,不依赖任何第三方 UI 库,这使其能够精确控制 DOM 操作和性能表现。核心架构包括:
- Row Model 体系:Client-Side Row Model(全量客户端)、Server-Side Row Model(服务端分页加载)、Infinite Row Model(无限滚动)、Viewport Row Model(视口模式)
- 列定义系统:通过
columnDefs声明式配置列行为,支持动态列生成 - 事件总线:统一的事件回调体系,覆盖单元格、行、列、网格级别
- 主题系统:基于 CSS 变量的主题引擎(Quartz、Alpine 等主题)
核心数据流
数据源 → RowModel(数据处理/排序/筛选/分组) → 渲染引擎(虚拟滚动) → DOM
↕
用户交互(编辑/选择/拖拽)
↕
事件回调 → 应用状态
核心特性
- 排序与筛选:多列排序、高级筛选器面板(v34.0 新增过滤器工具面板)、命名日期范围筛选(v35.1)
- 分页与虚拟滚动:支持百万级数据的虚拟滚动渲染
- 单元格编辑:内置编辑器(文本、数字、日期、下拉选择)+ 自定义编辑器;v34.0 新增编辑器校验和批量编辑
- 行分组与聚合:树形数据、行分组拖拽(v35.0)、紧凑分组列(v35.2)、聚合编辑
- 主/子表(Master/Detail):可展开的嵌套行视图,v34.1 支持树形数据
- 集成图表:网格内嵌图表,支持多种图表类型和格式化器
- 公式系统:v35.0 引入电子表格式公式,v36.0 新增计算列(Calculated Columns)和"显示值为"功能
- AI 工具包:v34.3 推出,集成 OpenAI、Anthropic、Google、Meta 等 LLM,支持自然语言控制网格,支持 MCP 协议
- Excel 导出:支持样式、公式、多工作表导出;v35.1 新增安全特性
- 服务端行模型:处理百万级数据的服务端分页、排序、筛选
- 列选择:v35.0 新增,支持按列选择数据
- 可访问性:完整的 ARIA 支持,v36.0 进一步增强
生态图
┌─────────────────────────────────────────────────┐
│ AG Grid 生态 │
├─────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌────────┐ │
│ │ AG Grid │ │ AG Charts │ │ AG Grid│ │
│ │ Community │ │ (配套图表库) │ │ AI │ │
│ │ (免费核心) │ │ │ │ Toolkit│ │
│ └──────┬──────┘ └──────┬──────┘ └───┬────┘ │
│ │ │ │ │
│ ┌──────┴──────────────┴──────────────┴─────┐ │
│ │ AG Grid Enterprise │ │
│ │ (行分组/主从表/图表/公式/透视/Excel导出) │ │
│ └──────────────────────────────────────────┘ │
│ │
│ 框架适配层: │
│ ├── ag-grid-react │
│ ├── ag-grid-angular │
│ ├── ag-grid-vue3 │
│ └── ag-grid-community (原生 JS) │
│ │
│ 开发工具: │
│ ├── ag-grid-testing (Testing IDs, v34.1) │
│ ├── Theme Builder (v35.1 支持导入主题) │
│ └── Figma Design System │
│ │
└─────────────────────────────────────────────────┘
关键依赖:零第三方运行时依赖(核心优势)
相关扩展/插件:
- AG Charts:配套图表库,与 AG Grid 深度集成
- ag-grid-testing:测试辅助工具
- AG Grid Figma Design System:设计系统同步
适用场景
- 企业管理后台:ERP、CRM、BI 系统中的数据列表、订单管理、用户管理等场景
- 金融交易系统:需要实时数据更新、大量行列、精确数据编辑的交易终端
- 数据分析平台:需要行分组、聚合、透视表、图表联动的数据分析应用
- 电子表格替代方案:需要公式、编辑、复制粘贴等 Excel 类体验的 Web 应用
- 大数据量展示:服务端行模型可高效处理百万级数据
- AI 驱动的数据应用:通过 AI 工具包实现自然语言查询和数据操作
- 跨框架组件库建设:作为底层数据网格被封装为业务组件
开发与工程化
开发流程
# 开发环境(以 React 为例)
npm install ag-grid-community ag-grid-react
# 构建
npm run build # AG Grid 作为依赖自动打包
# Tree Shaking 优化
# AG Grid v33+ 支持按需导入,减少约 40% 包体积
import { AgGridReact } from 'ag-grid-react';
import { ModuleRegistry } from 'ag-grid-community';
import { ClientSideRowModelModule } from 'ag-grid-community';
ModuleRegistry.registerModules([ClientSideRowModelModule]);工程化最佳实践
- 模块注册:使用
ModuleRegistry按需注册功能模块,减小打包体积 - 主题定制:通过 CSS 变量或 Theme Builder 统一视觉风格
- 许可密钥管理:Enterprise 版需在应用启动时设置
licenseKey - SSR 支持:AG Grid 支持 Next.js / Nuxt.js 等服务端渲染框架,需禁用 SSR 阶段渲染
- 测试策略:利用 v34.1 的 Testing IDs 辅助 E2E 测试定位
CI/CD 集成
- AG Grid 版本升级应遵循官方迁移指南(每个大版本均有升级文档)
- 建议在 CI 中包含
typecheck和build验证 - Enterprise 许可密钥通过环境变量注入,不要硬编码
性能与安全
性能特点
- 虚拟滚动:仅渲染可视区域内的行,支持百万级数据流畅滚动
- 增量渲染:大批量数据更新时采用增量 DOM 操作
- 内存优化:v35.3 专项性能改进
- Web Workers:服务端行模型可将数据处理卸载到 Web Worker
已知性能瓶颈
- 客户端全量模式下超过 10 万行时排序/筛选可能出现卡顿,建议切换 Server-Side Row Model
- 大量可编辑单元格会增加内存占用
- 复杂的自定义单元格渲染器可能影响滚动帧率
安全注意事项
- Enterprise 许可密钥属于商业资产,需通过安全的环境变量管理
- 用户输入的编辑内容应进行 XSS 过滤(AG Grid 默认不转义 HTML)
- 服务端数据接口需做好鉴权和速率限制
技术对比
| 特性 | AG Grid | TanStack Table | Handsontable | Tabulator | RevoGrid |
|---|---|---|---|---|---|
| 类型 | 全功能数据网格 | 无样式逻辑库 | 电子表格式网格 | 交互式表格 | 虚拟数据网格 |
| 免费可用 | Community(MIT) | 完全免费(MIT) | 非商业免费 | 完全免费(MIT) | 完全免费(MIT) |
| 付费版本 | $999/开发者/年 | 无 | $999/开发者/年 | 无 | Pro 版(定制定价) |
| 框架支持 | React/Angular/Vue/JS | React/Vue/Solid/Svelte/Angular/Lit/Alpine | React/Angular/Vue/JS | React/Angular/Vue/JS | Vue/React/Angular/Svelte/JS |
| 自带 UI | ✅ 完整主题系统 | ❌ 需自行实现 | ✅ 电子表格风格 | ✅ 内置主题 | ✅ 内置主题 |
| 虚拟滚动 | ✅ | 需自行集成 | ✅ | ✅ | ✅(核心优势) |
| 行分组 | ✅ Enterprise | ✅ 内置 | ❌ | ✅ | ✅ |
| 公式支持 | ✅ Enterprise(v35+) | ❌ | ✅ HyperFormula | ❌ | ❌ |
| AI 能力 | ✅ AI Toolkit | ❌ | ❌ | ❌ | ✅ MCP 集成 |
| 集成图表 | ✅ Enterprise | ❌ | ❌ | ❌ | ❌ |
| Excel 导出 | ✅ Enterprise | ❌ | ✅ | ✅ CSV | ✅ CSV/PDF(Pro: Excel) |
| 服务端数据 | ✅ 多模式支持 | ✅ 自行实现 | ✅ | ✅ | ✅ |
最佳实践
生产环境建议
- 选择合适的 Row Model:数据量 < 1 万行用 Client-Side;> 10 万行必须用 Server-Side
- 启用模块化导入:减少打包体积 40%+
- 合理使用
getRowId:确保行唯一标识稳定,避免不必要的重渲染 - 编辑功能按需开启:全局可编辑会增加内存开销
- 主题统一:使用 Theme Builder 创建并导出自定义主题
常见陷阱
- ❌ 在客户端模式下加载百万行数据 → ✅ 使用 Server-Side Row Model
- ❌ 每次渲染都创建新的
columnDefs数组 → ✅ 用useMemo缓存 - ❌ 忽略 Enterprise 许可合规 → ✅ 生产环境部署前确认许可状态
- ❌ 使用过时的
gridOptions旧 API → ✅ 迁移到新版属性绑定方式
技术局限与边界
已知限制
- Enterprise 功能需付费:行分组、图表、公式、Excel 导出等核心高级功能不在免费版本中
- 学习曲线较陡:API 庞大(400+ 属性),新功能开发者需要较长适应期
- 样式定制复杂度:深度自定义主题需要理解内部 CSS 变量体系
- 非开源核心:Enterprise 版代码不公开,无法修改底层实现
- 包体积较大:完整导入时体积显著大于轻量级替代方案
不适用场景
- 简单的静态数据展示(HTML
<table>即可解决) - 预算极有限的个人项目(Enterprise 功能需求高但无力承担许可费)
- 需要完全自定义渲染且不接受预设 DOM 结构的场景
- 移动端触摸优先的轻量级列表(可考虑虚拟列表库)
迁移注意事项
- 版本升级务必参考官方 Migration Guide(每个大版本都有)
- v33 → v34 → v35 → v36 每个大版本都有 API 变更
- Enterprise 许可密钥需随版本更新确认兼容性
学习资源
官方文档
- AG Grid 官方文档 - 完整的 API 参考和指南
- What's New - 最新版本特性概览
- AG Grid 36 升级指南
- Community vs Enterprise - 功能对比
教程与博客
- What's New in AG Grid 36 - v36 详解
- AI Toolkit 文档 - AI 能力接入指南
- AG Grid Blog - 官方博客,持续更新
社区资源
2026 年现状
最新版本
- v36.0.0(2026-06-24):计算列、Show Values As、自动列生成、可访问性增强
- v35.3.1(2026-06-02):快速访问工具栏、单元格注释、大总计行、性能优化
- v35.0(2025-12):公式系统、行分组拖拽、绝对排序、列选择
发展趋势
- AI 深度融合:AI Toolkit 持续演进,支持 MCP 协议,让终端用户通过自然语言操控数据网格
- 公式与计算能力增强:从 v35 的公式到 v36 的计算列,向 Excel 体验持续靠近
- 可访问性提升:持续投入 WCAG 合规和 ARIA 支持
- 性能持续优化:每版本都有针对性的性能改进
社区活跃度
- GitHub Stars:15,400+
- 更新频率:每月至少一个 minor/patch 版本
- 社区规模:全球最大的商业数据网格社区之一
- 企业用户:大量金融、医疗、ERP 领域的企业客户
未来路线图
- AI 工具包能力持续扩展(更多 LLM 支持、更复杂的自然语言操作)
- 公式引擎增强
- 更细粒度的模块化,进一步减小包体积
- AG Charts 与 AG Grid 的更深度集成