Layui数据表格如何设置特定列在导出时不包含

阿浩君_7577

阿浩君_7577

2026-07-24

167人浏览

原创

必须手动过滤table.cache数据才能跳过操作列导出,因layui.exportFile()默认导出所有field列;需从table.cache取原始数据,结合cols配置跳过'opt'等操作字段,用data参数显式传入干净二维数组并加BOM解决CSV乱码错位。

导出时跳过操作列必须手动过滤 table.cache 数据

layui 的 table.exportfile() 默认会把所有配置了 field 的列都写进 excel,包括你用 templet 渲染的按钮、开关、预览图等。css 隐藏、hide: true、删掉 field 都没用——导出逻辑只认 table.cache 里有没有对应 key。

真正有效的做法是:从 layui.table.cache['your-table-id'] 拿原始数据,再遍历 layui.table.config.cols['your-table-id'][0],跳过你要屏蔽的 field(比如 'opt'、'action'),构造干净的对象数组传给 exportFile() 的 data 参数。

  • 操作列若没设 field,它在 cache 中根本不会出现,不用处理
  • 如果某列 field 是 '' 或 null,Layui 可能自动生成类似 "LAY_TABLE_INDEX" 的键名,这种也要在清洗时排除
  • 务必确认你过滤的 field 名和 cache 中对象的属性名完全一致(大小写、下划线都不能错)

怎么确认哪一列是操作列

别靠猜。打开浏览器控制台,执行:layui.table.config.cols['your-table-id'][0](把 your-table-id 换成你表格的 lay-filter 值),逐个查看数组中每个列对象的 field 值。

操作列通常满足以下任一特征:

  • field 是 'opt'、'handle'、'action' 这类明显非业务字段的字符串
  • field 为 null 或空字符串 ''(此时 Layui 会自动生成类似 "LAY_TABLE_INDEX" 的键,也要排除)
  • 该列用了 templet 渲染按钮但没设 field——这种列在 cache 中根本不会出现,不用处理

再检查 table.cache['your-table-id'] 里任意一行对象,确认该 field 是否真实存在且有值。

深蓝色网站后台管理系统layui框架模板-AdminPro
深蓝色网站后台管理系统layui框架模板-AdminPro

一款深蓝色网站后台管理系统layui框架模板

下载

用 data 参数接管导出,绕过默认行为

调用 exportFile() 时不传表格 ID,改用显式 data + headers。这样 Layui 就完全不读 cache,也不管你 cols 怎么配,只按你给的数据来。

  • 必须是二维数组(如 [['张三', 'zhang@x.com'], ['李四', 'li@x.com']]),不能是对象数组
  • headers 数组长度必须和每行数据长度一致,否则 Excel 列数错乱
  • 如果原列用了 templet 格式化(比如 status: 1 → "启用"),得在构造 data 时手动映射,cache 里只有原始值
  • 不要依赖 table.getData('id'),它只返回当前页数据;要全量导出,必须提前存好或重新请求

导出 CSV 中文乱码 + 列错位,其实是同一个坑

很多人发现“去掉了操作列,但 Excel 里中文还是问号”,其实不是两个问题:当你用 exportFile('id') 默认方式导出时,Layui 内部拼 CSV 不加 BOM,且会把序号列、操作列当真实列处理,导致字段错位 + 编码失效同时发生。

只要用了显式 data 参数,你就已经脱离了默认导出路径。此时可以自己加 BOM:const csv = '\ufeff' + yourCsvString,再用 layui.util.download({ data: csv, type: 'csv', filename: 'xxx.csv' })。

注意:exportFile 内部不支持插 BOM,也没法干预 CSV 拼接过程——这个细节容易被忽略,但直接影响最终文件能否正常打开。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

60

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

160

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

120

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

80

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 12.7万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 10.9万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.6万人学习