CSV 预览工具:拖进文件秒看清数据
CSV 预览工具:拖进文件秒看清数据
摘要:用码道 AI 编程助手在约 2 分钟内生成单文件 CSV 预览与筛选工具:支持拖拽/选择加载 CSV、表格展示与分页、多列排序、关键词搜索过滤、行数统计,纯前端实现,界面美观,响应式布局。
码道 TUI 安装
码道 CLI 官方提供 Windows 与 macOS/Linux 两种安装方式,按自己的系统选一种即可。
Windows(仅支持在 PowerShell 执行)
# 1. 一键安装
irm https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.ps1 | iex
# 2. 配置环境变量
$env:CODEARTS_CLI_AK="你的AK"
$env:CODEARTS_CLI_SK="你的SK"
# 3. 启动 TUI
codearts
macOS / Linux(终端)
# 1. 一键安装
sh -c "$(curl -L https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)"
# 2. 配置环境变量
export PATH=~/.codeartsdoer/installers:$PATH
export CODEARTS_CLI_AK=你的AK
export CODEARTS_CLI_SK=你的SK
# 3. 启动 TUI
codearts
安装成功后终端会回显码道 CLI 的版本号。如果还没用过码道,可以免费开通体验版试试:
AK/SK 获取:https://codearts.huaweicloud.com/portal/settings/cli-auth
👉 还没有码道?立即开通体验:https://developer.huaweicloud.com/codeartsco.html?source=dmzntgwsf&sourcead=dmzntgwwbwz
1. 开篇
在日常数据分析工作中,我们经常需要快速预览 CSV 文件内容——查看有哪些列、数据长什么样、按某列排序或搜索特定记录。每次都打开 Excel 或编写 Python 脚本太繁琐。今天,我们用码道 AI 编程助手(CodeArts)一键生成一个 CSV 预览与筛选工具,所有功能在浏览器中运行,零依赖。
2. 码道 AI 编程助手简介
码道(CodeArts) 是华为云推出的 AI 编程助手,支持自然语言描述需求自动生成代码。它基于 OpenCode 内核,可以在终端中以命令行模式运行,也可以通过 TUI(终端用户界面)交互式开发。
开通地址:https://developer.huaweicloud.com/codeartsco.html
CLI 认证密钥获取:https://codearts.huaweicloud.com/portal/settings/cli-auth
安装后通过 codearts run "需求描述" 即可让码道根据需求生成代码。
3. 任务描述
本次任务:创建一个单文件 HTML CSV 预览与筛选工具,具体需求如下:
- ✅ 支持拖拽或选择 CSV 文件加载
- ✅ 表格化展示 CSV 数据,支持分页(每页 20 条)
- ✅ 支持多列排序(点击表头切换升序/降序)
- ✅ 支持关键词搜索过滤所有列
- ✅ 显示总行数和当前筛选行数
- ✅ 纯前端实现,界面美观整洁,响应式布局
4. 开发过程
4.1 启动码道
在终端中运行码道,输入需求:
codearts run "创建一个单文件HTML CSV预览与筛选工具,功能包括:1) 支持拖拽或选择CSV文件加载 2) 表格化展示CSV数据,支持分页 3) 支持多列排序 4) 支持关键词搜索过滤 5) 显示行数统计。纯前端实现,界面美观,响应式布局。"

4.2 码道生成代码
码道在约 2 分钟内完成代码生成,输出了一个完整的 HTML 文件,包含:
- CSS 样式:渐变色背景、圆角卡片、hover 动效、响应式媒体查询
- HTML 结构:文件上传区、拖放区、搜索框、数据表格、分页控件
- JavaScript 逻辑:CSV 解析、排序、搜索过滤、分页、统计显示
所有代码保存在 csv-viewer.html 中,总计约 400 行。
5. 代码解析
5.1 CSV 解析
function parseCSV(text) {
const lines = text.split('\n')
.map(line => line.trim())
.filter(line => line.length > 0);
const headers = lines[0].split(',').map(h => h.trim());
const data = [];
for (let i = 1; i < lines.length; i++) {
const values = lines[i].split(',');
const row = {};
headers.forEach((header, index) => {
row[header] = values[index] ? values[index].trim() : '';
});
data.push(row);
}
rawData = data;
filteredData = [...rawData];
// ...
}
码道自动生成了健壮的 CSV 解析逻辑:先按行分割,提取表头,再将每行数据映射为键值对对象,方便后续操作。
5.2 排序功能
function sortByColumn(columnIndex) {
const headers = Object.keys(filteredData[0]);
const header = headers[columnIndex];
if (sortColumn === columnIndex) {
sortDirection = sortDirection === 'asc' ? 'desc' : 'asc';
} else {
sortColumn = columnIndex;
sortDirection = 'asc';
}
filteredData.sort((a, b) => {
let valA = a[header], valB = b[header];
const numA = parseFloat(valA), numB = parseFloat(valB);
if (!isNaN(numA) && !isNaN(numB)) { valA = numA; valB = numB; }
if (valA < valB) return sortDirection === 'asc' ? -1 : 1;
if (valA > valB) return sortDirection === 'asc' ? 1 : -1;
return 0;
});
// ...
}
排序逻辑支持数值和文本混合排序——先尝试将值解析为数字,如果两边都是数字则按数值比较,否则按字符串比较。点击同一列可在升序/降序间切换。
5.3 搜索过滤
function filterData() {
const keyword = searchInput.value.trim().toLowerCase();
if (keyword === '') {
filteredData = [...rawData];
} else {
filteredData = rawData.filter(row => {
return Object.values(row).some(value =>
value.toString().toLowerCase().includes(keyword)
);
});
}
// ...
}
搜索过滤使用了防抖(debounce)技术,300ms 延迟避免频繁触发,搜索范围覆盖所有列,输入关键词即可即时筛选。
6. 运行效果
我们准备了一份包含 30 条员工信息的测试 CSV 数据来验证工具功能。
6.1 数据加载
拖放 CSV 文件后,工具自动解析并显示表格,表头带排序指示器(↕),底部显示总行数 30、筛选后 30,分页自动计算为 2 页。

6.2 搜索过滤
在搜索框中输入"技术部",工具实时过滤,筛选结果从 30 条变为 13 条——全部是技术部员工。分页也自动变为 1 页。

6.3 排序演示
点击"薪资"表头按薪资升序排列:实习生林四(¥8,000)排在最前,首席架构师韩八(¥55,000)排在第二页末尾。再次点击可切换为降序。

7. 能力总结
码道 AI 编程助手在这次任务中展现了以下能力:
| 能力维度 | 表现 |
|---|---|
| 需求理解 | 准确理解 5 项功能需求,无一遗漏 |
| 代码质量 | 生成约 400 行完整、可运行的 HTML/CSS/JS 代码 |
| UI 设计 | 渐变色背景、圆角卡片、hover 动效、响应式布局 |
| 功能实现 | CSV 解析、排序(数值/文本混合)、搜索过滤(防抖)、分页 |
| 生成速度 | 约 2 分钟完成全部代码输出 |
8. 总结
通过一个简单的自然语言描述,码道 AI 编程助手在 2 分钟内生成了一个功能完善的 CSV 预览与筛选工具。代码结构清晰,包含完整的错误处理、响应式布局和性能优化(防抖搜索),可以直接部署使用。
这不仅大幅提升了开发效率,也降低了小工具的创建门槛——即使是编程初学者,只需描述需求就能获得一个可用的工具。对于有经验的开发者,码道生成的代码也可以作为快速原型基础,在此基础上二次开发。
本文由码道 AI 编程助手协作完成,工具代码和截图均为真实生成结果。
相关资源:
- 🔗 码道控制台 - 认证密钥配置
- 🔗 码道开通页
- 📂 项目源码 | 测试数据
浙公网安备 33010602011771号