AG Grid logo

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/
GitHubhttps://github.com/ag-grid/ag-grid
LicenseCommunity: 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 中包含 typecheckbuild 验证
  • Enterprise 许可密钥通过环境变量注入,不要硬编码

性能与安全

性能特点

  • 虚拟滚动:仅渲染可视区域内的行,支持百万级数据流畅滚动
  • 增量渲染:大批量数据更新时采用增量 DOM 操作
  • 内存优化:v35.3 专项性能改进
  • Web Workers:服务端行模型可将数据处理卸载到 Web Worker

已知性能瓶颈

  • 客户端全量模式下超过 10 万行时排序/筛选可能出现卡顿,建议切换 Server-Side Row Model
  • 大量可编辑单元格会增加内存占用
  • 复杂的自定义单元格渲染器可能影响滚动帧率

安全注意事项

  • Enterprise 许可密钥属于商业资产,需通过安全的环境变量管理
  • 用户输入的编辑内容应进行 XSS 过滤(AG Grid 默认不转义 HTML)
  • 服务端数据接口需做好鉴权和速率限制

技术对比

特性AG GridTanStack TableHandsontableTabulatorRevoGrid
类型全功能数据网格无样式逻辑库电子表格式网格交互式表格虚拟数据网格
免费可用Community(MIT)完全免费(MIT)非商业免费完全免费(MIT)完全免费(MIT)
付费版本$999/开发者/年$999/开发者/年Pro 版(定制定价)
框架支持React/Angular/Vue/JSReact/Vue/Solid/Svelte/Angular/Lit/AlpineReact/Angular/Vue/JSReact/Angular/Vue/JSVue/React/Angular/Svelte/JS
自带 UI✅ 完整主题系统❌ 需自行实现✅ 电子表格风格✅ 内置主题✅ 内置主题
虚拟滚动需自行集成✅(核心优势)
行分组✅ Enterprise✅ 内置
公式支持✅ Enterprise(v35+)✅ HyperFormula
AI 能力✅ AI Toolkit✅ MCP 集成
集成图表✅ Enterprise
Excel 导出✅ Enterprise✅ CSV✅ CSV/PDF(Pro: Excel)
服务端数据✅ 多模式支持✅ 自行实现

最佳实践

生产环境建议

  1. 选择合适的 Row Model:数据量 < 1 万行用 Client-Side;> 10 万行必须用 Server-Side
  2. 启用模块化导入:减少打包体积 40%+
  3. 合理使用 getRowId:确保行唯一标识稳定,避免不必要的重渲染
  4. 编辑功能按需开启:全局可编辑会增加内存开销
  5. 主题统一:使用 Theme Builder 创建并导出自定义主题

常见陷阱

  • ❌ 在客户端模式下加载百万行数据 → ✅ 使用 Server-Side Row Model
  • ❌ 每次渲染都创建新的 columnDefs 数组 → ✅ 用 useMemo 缓存
  • ❌ 忽略 Enterprise 许可合规 → ✅ 生产环境部署前确认许可状态
  • ❌ 使用过时的 gridOptions 旧 API → ✅ 迁移到新版属性绑定方式

技术局限与边界

已知限制

  • Enterprise 功能需付费:行分组、图表、公式、Excel 导出等核心高级功能不在免费版本中
  • 学习曲线较陡:API 庞大(400+ 属性),新功能开发者需要较长适应期
  • 样式定制复杂度:深度自定义主题需要理解内部 CSS 变量体系
  • 非开源核心:Enterprise 版代码不公开,无法修改底层实现
  • 包体积较大:完整导入时体积显著大于轻量级替代方案

不适用场景

  • 简单的静态数据展示(HTML &lt;table&gt; 即可解决)
  • 预算极有限的个人项目(Enterprise 功能需求高但无力承担许可费)
  • 需要完全自定义渲染且不接受预设 DOM 结构的场景
  • 移动端触摸优先的轻量级列表(可考虑虚拟列表库)

迁移注意事项

  • 版本升级务必参考官方 Migration Guide(每个大版本都有)
  • v33 → v34 → v35 → v36 每个大版本都有 API 变更
  • Enterprise 许可密钥需随版本更新确认兼容性

学习资源

官方文档

教程与博客

社区资源

2026 年现状

最新版本

  • v36.0.0(2026-06-24):计算列、Show Values As、自动列生成、可访问性增强
  • v35.3.1(2026-06-02):快速访问工具栏、单元格注释、大总计行、性能优化
  • v35.0(2025-12):公式系统、行分组拖拽、绝对排序、列选择

发展趋势

  1. AI 深度融合:AI Toolkit 持续演进,支持 MCP 协议,让终端用户通过自然语言操控数据网格
  2. 公式与计算能力增强:从 v35 的公式到 v36 的计算列,向 Excel 体验持续靠近
  3. 可访问性提升:持续投入 WCAG 合规和 ARIA 支持
  4. 性能持续优化:每版本都有针对性的性能改进

社区活跃度

  • GitHub Stars:15,400+
  • 更新频率:每月至少一个 minor/patch 版本
  • 社区规模:全球最大的商业数据网格社区之一
  • 企业用户:大量金融、医疗、ERP 领域的企业客户

未来路线图

  • AI 工具包能力持续扩展(更多 LLM 支持、更复杂的自然语言操作)
  • 公式引擎增强
  • 更细粒度的模块化,进一步减小包体积
  • AG Charts 与 AG Grid 的更深度集成