大多数问题都出在文件格式、编码或分隔符上。ViewCSV 会用提示说明具体原因,下面按情况给出解决步骤。排查过程中,你的数据始终留在本机。
文件打不开
- 文件超过 52,428,800 字节(50 MB):请拆分文件,或使用桌面软件打开。
- 提示“这是 Excel 等电子表格工作簿,不是 CSV 文件。”:请在电子表格软件中另存为“CSV UTF-8”,再打开该文件。
- 提示“这似乎是二进制文件,不是文本。”:压缩文件(.gz)请先解压;不支持 PDF。
- 超过 1,000,000 行、1,000 列或 5,000,000 个单元格:如果列数明显不对,多半是分隔符识别错了(见下文)。
中文乱码,或提示“不是有效的 UTF-8 文本”
ViewCSV 自动识别 UTF-8 和带 BOM 的 UTF-16。旧版电子表格导出的文件常用其他编码:中文 Windows 版 Excel 以“CSV(逗号分隔)”保存的文件通常是 GBK,另存为“CSV UTF-8”的则是 UTF-8;西欧语言版 Windows 生成的文件通常是 Windows-1252。
- 打开“导入设置”(在起始页上,或打开文件后的顶部栏中)。
- 在“文件编码”中选择文件保存时使用的编码:GBK 文件请选择 GB18030(兼容 GBK);也可以选择 Windows-1252、Windows-1250、Windows-1251、Shift_JIS、EUC-KR 等。
- 重新打开文件,或选择“重新读取”。文件本身不会被转换。不符合 UTF-8 或 UTF-16 的字节会显示错误提示;其他编码即使选错,也可能不报错就读入,所以如果中文仍然是乱码,请换一种编码再试。
所有内容都挤在一列里
分隔符没有被识别。请在“导入设置”中选择逗号、分号、制表符或竖线,然后选择“重新读取”。分隔符只能是这四种之一,用中文全角逗号“,”分隔的文本不会被拆成多列,需要先在文本编辑器中替换成英文逗号。从欧洲收到的以分号分隔、以逗号作小数点的文件也能正常打开,其中 19,90 这样的数字会按文本保留。
提示“从第 … 行开始的带引号的值没有结束”
文件中缺少一个双引号,问题从提示中的那一行开始。能修改文件的话,建议先修正。如果仍想查看内容,请在“导入设置”中关闭“将双引号视为 CSV 引号”,双引号会被当作普通字符读取。如果是粘贴的文本,提示中会直接提供“将引号作为文本打开”。
粘贴
- 工具栏弹出窗口最多可粘贴 4,194,304 个字符。更长的文本请打开 ViewCSV 标签页,选择“粘贴文本”(最多 52,428,800 个字符)。
- 从电子表格复制的行通常以制表符分隔,ViewCSV 会自动识别。
- 空行会被跳过,跳过的行数显示在表格上方的提示中。
“查找表格”什么也没找到,或找到的不是你看到的表格
- 只能找到真正的 HTML 表格。很多网站用其他元素绘制表格,这类表格无法读取;可以复制文字后粘贴,或看看网站是否提供 CSV 下载。
- 其他网站框架中的表格、隐藏的表格和只有一个单元格的排版用表格会被跳过。最多列出 50 个表格。
- 如果页面在滚动或翻页时才加载更多行,只会读取当时页面上已有的行。
- 提示“选择之后,页面上的表格发生了变化”或“ViewCSV 已无法读取该页面”:页面已刷新或内容有变化。请回到该页面,重新选择“查找表格”。
- 合并单元格会被拆开,原值填入其覆盖的每个单元格,并提示拆分了多少个。
提示“ViewCSV 无法读取此页面”
浏览器不允许扩展程序读取浏览器自身的页面(设置、新标签页、扩展商店)和部分受保护的页面。在标签页中打开的本地文件也无法读取,请在 ViewCSV 标签页中点击“选择文件”打开。
CSV 链接打不开
- 没有授予访问权限:请再次选择“允许并打开”,并在浏览器询问时允许访问该网站。
- 提示“此链接会重定向到其他地址”:ViewCSV 不跟随重定向。请在浏览器中打开链接后使用最终地址,或直接下载文件。
- 提示“该网站需要登录”(错误 401 或 403):ViewCSV 不发送你的登录信息,请改用浏览器下载文件。
- 提示“链接返回的是网页,不是 CSV 文件”:链接指向的是登录页或下载页,而不是文件本身。
- 文件过大、下载超过 60 秒、链接中含有用户名或密码,或地址位于你自己的网络中:下载会被拒绝。
- 无论哪种情况,都可以先用浏览器下载文件,再用“选择文件”打开。
导出
- 导出文件为 UTF-8 编码。如果 Excel 中的中文显示为乱码,请开启“添加 UTF-8 BOM”(默认开启)。
- 导出 CSV 时默认使用原文件的分隔符,可在“导出”窗口中改选其他分隔符。值会原样写出,不会重新格式化。
- “防止被电子表格当作公式执行”(默认开启)会在以 =、+、-、@(或其全角形式 = + - @、制表符、回车符)开头且不是普通数字的单元格前加上撇号('),让电子表格将其显示为文本而不是执行。如果需要原始文本,例如要导入数据库,请关闭此项。
- JSON 导出为对象数组,所有值均为字符串。没有名称的列会变成“Column N”,重复的列名会加上“(2)”“(3)”。
- 可以选择导出当前显示的行(搜索和筛选之后,按当前顺序)或全部行,也可以选择不导出隐藏的列。
- 超过 209,715,200 字节(200 MB)的导出会被拒绝,请先筛选行或隐藏列。
原文件与未保存的修改
ViewCSV 从不修改你的原文件或网页。修改的单元格、删除的行和重命名的列,在导出前都只存在于 ViewCSV 标签页中,撤销最多可回退最近 200 步。排序、搜索和筛选只改变显示内容。关闭或刷新标签页会丢弃修改(浏览器会先确认);更改“导入设置”会重新读取数据,同样会丢弃修改。离开或刷新页面前,请先导出保存。
数字列按文本排序
只有像 1234.5、-0.75 这样以“.”作小数点的普通十进制数才会被识别为数字。千分位、¥ 等货币符号、逗号小数点、科学计数法和日期都按文本处理;含有以 0 开头的值的列(邮编、订单号等)也会特意按文本处理。文本按自然顺序排序,所以 2 仍排在 10 前面。
常见问题
导出的文件用 Excel 打开后,为什么有的值前面多了一个撇号?
这是公式防护为以 =、+、-、@ 开头的值加上的。不需要的话,请在“导出”窗口中关闭“防止被电子表格当作公式执行”。
关闭标签页后还能找回修改吗?
不能。数据只保存在打开的标签页中,关闭前请先导出。
为什么 ¥1,299.00 这样的金额不能按数字筛选?
ViewCSV 只把不带千分位和货币符号、以“.”作小数点的值当作数字。值会原样保留,仍可以按文本搜索和筛选。
可以离线使用吗?
打开文件、粘贴文本以及读取已打开网页上的表格都可以离线进行。打开 CSV 链接需要能连接到该网站。