跳到主要内容
Convertube

← 全部文章

QFX、QBO、OFX 文件怎么用 Excel 打开?不装 Quicken 和 QuickBooks 也能看

银行下载的文件只有 Quicken 或 QuickBooks 能打开:QFX、QBO、OFX、QIF 分别是什么,用 Excel 直接打开实际会看到什么(实测),怎样转成日期和金额都能直接用的表格,以及转换后要检查的五件事。

·

一句话回答: QFX、QBO 和 OFX 里面是同一种东西——银行业通用的对账单格式 OFX——分别写给 Quicken、QuickBooks 和较早的理财软件用。Excel 没有读它的功能:直接打开,一个只有 3 笔交易的 QFX 变成了 83 行标签代码。要得到每笔交易一行、日期和金额都是真数值的表格,用 QFX 转 Excel、QBO 转 Excel 或 OFX 转 Excel 转换即可。文件在浏览器里读取,不上传;1 万笔交易用时不到 1 秒。

这几种文件是什么

扩展名写给谁用里面是什么
.ofxMicrosoft Money 及所有能读 OFX 的软件OFX,微软、Intuit 和 CheckFree 在 1997 年商定的对账单格式
.qfxQuicken(Web Connect)OFX,外加几个告诉 Quicken 是哪家银行的 Intuit 字段
.qboQuickBooks(Web Connect)OFX,外加一个给 QuickBooks 用的 Intuit 银行标识
.qifQuicken 旧版及很多软件的导出QIF,更早的纯文本格式:每个字段一行,行首一个字母

前三种只差在扩展名,以及几个描述银行(而不是交易)的字段。里面的每笔交易——日期、金额、收款方、摘要、银行自己的交易号——写法完全一样。QIF 是另一种更老的格式,用途相同。

用 Excel 直接打开会看到什么

我们把开源项目里的真实测试文件直接用 Excel 打开——测试机上是 Excel 2007——看看会出来什么。

文件Excel 显示的内容
QFX,3 笔交易(OFX 1.x)83 行标签,比如 <TRNAMT>-34.51,按缩进散在 7 列里
同一个文件改名为 .qbo、.ofx完全一样的 83 行
标签没有闭合的 OFX 2.x(很多银行就是这样写的)打不开
格式规范的 OFX 2.x,2 笔交易,以 XML 表格方式打开27 列:服务器时间、银行路由号、期末余额在每一行重复;日期是 20051004 这样的数字,时间戳显示成 2.0051E+13
QIF,8 笔交易45 行挤在一列里,每行一个字段;带重音的收款方名称乱码,因为按系统代码页而不是 UTF-8 读取

这些结果都没法按日期排序,也没法求和。标签是文件的结构,不是内容,而 Excel 没有任何导入功能知道哪个标签是金额。新版 Excel 打开纯文本的方式相同;它们的 XML 导入我们没有测试。

改扩展名也没用:.qfx、.qbo、.ofx 是同样的文本,三个名字在 Excel 里显示的都是同样的 83 行。

先看看银行有没有 CSV

如果你正在网银里下载,先找找 Quicken、QuickBooks、Web Connect 旁边有没有 CSV 或 Excel 选项。很多银行都有,下载后 Excel 直接就能打开,不用转换。以下情况仍然值得转 QFX 或 QBO:

  • 银行只提供 Quicken 或 QuickBooks 格式的下载,或者较早的月份只有这两种
  • 文件来自客户、会计或旧存档,已经没法再找银行要
  • 银行的 CSV 里没有交易号,而合并多次下载时,交易号是去重最可靠的依据
  • 手上有旧版 Quicken 或 Microsoft Money 导出的 QIF

怎么把 QFX、QBO、OFX、QIF 转成 Excel

  1. 打开对应的页面:QFX 转 Excel、QBO 转 Excel、OFX 转 Excel 或 QIF 转 Excel。三个 OFX 类页面都接受这三种扩展名
  2. 把文件拖进来,或点击选择
  3. 下载表格:每笔交易一行,每个账户一个工作表

如果是给另一个程序用——记账软件、财务系统导入、自己写的脚本——就用 CSV 版本:QFX 转 CSV、QBO 转 CSV、OFX 转 CSV、QIF 转 CSV。

银行流水这种文件,本不该上传到陌生网站的服务器上。这里不会上传:读取文件和写出表格都在页面里完成,转换时可以打开浏览器的网络面板,自己确认没有任何携带文件内容的请求发出。

转换后要检查的五件事

1. 日期差了一天

OFX 的时间戳带时区,比如 20240131000000[+10:AEST]。如果转换器先换算成 UTC,悉尼时间 31 日零点就变成了 30 日,这一行就和对账单对不上了。我们测试时,一个被广泛使用的解析库正是这样处理一份券商文件:交易时间是美东晚上 8:20,每笔交易都被挪到了第二天。这里的转换器保留银行写的日期,舍去时间。

2. 日和月颠倒

QIF 不写明 03/04/2024 是 4 月 3 日还是 3 月 4 日。转换器会先读完整个文件:只要有一个 23/10/2013 这样的日期,就证明是日在前;有一个 10/23/2013 这样的,就证明是月在前;两种都没有的按月在前读,这是 Quicken 的写法。如果你的文件正好是例外,转换前在「文件里的日期」里手动选。结果里的日期一律写成 2024-01-31,任何程序都不会读错。

3. 用逗号作小数点的金额

一些欧洲银行把金额写成 -12,50,QIF 导出里也可能有 1.234,56。两种都会读成数字——-12.50 和 1234.56——所以金额列能直接求和。如果要用设置为德国、法国或欧洲大陆多数地区的 Excel 打开 CSV,选分号格式:那种 Excel 要求单元格之间用分号,打开逗号分隔的文件会挤成一列。

4. 合并多次下载时的重复

先下载 1 月到 3 月,再下载 3 月到 5 月,3 月就出现了两次。日期和金额都相同的两行,可能是真实的两笔消费——同一天买了两杯咖啡——所以不要按这两列去重。按「Transaction ID」(交易号)列去重:那是银行给每笔交易的编号,在同一账户内唯一。

5. 收款方变成了公式

CSV 是纯文本,而 Excel 会把以 = 开头的单元格当成公式。收款方名称是商户自己写的,我们测试时,一个写成 =1+1 的收款方,在 Excel 里打开 CSV 后显示成了 2;写成 =HYPERLINK(...) 的则会变成一个可点击的链接。转换器会在以 = 或 @ 开头、以及以 + 或 - 开头但不是数字的文字前面加一个看不见的制表符,让 Excel 把它当作文字显示;我们在 Excel 里确认过,加了之后不再执行。金额不受影响,仍是数字。

对真实文件的读取效果(实测)

我们从八个开源项目的测试集里收集了 85 个 OFX 文件和 25 个 QIF 文件——支票账户、信用卡和券商对账单,部分标注来自 Fidelity、Vanguard、American Express 和 Nubank——把这里的读取结果和三个 Python 解析库 ofxparse、ofxtools、quiffen 逐字段对照。

检查内容结果
参考库能读的 OFX 文件44 个文件、202 笔交易:1,212 个字段中 1,209 个一致
两个库都拒绝读取的 OFX 文件22 个,这里全部读出;76 笔交易中 75 笔与直接搜索文件文本的结果一致
含交易的 QIF 文件21 个文件、87 笔交易:435 个字段中 431 个一致
有标准答案的合成对账单1 万笔交易,每个字段都对;Excel 求和与总额精确到分

参考库拒绝的,恰恰是银行真实会给出的文件:缺文件头、交易列表没有闭合、收款方包在 CDATA 里、余额为空。各处差异在每个转换页上都有说明。测于 2026 年 10 月 25 日;在 Chrome 里转换 1 万笔交易,从放入文件到可以下载用了 0.4 到 0.7 秒。

做不到的事

  • 不能反向转换。 把表格转成 Quicken 或 QuickBooks 认的 QFX、QBO,需要填 Intuit 名单上的银行标识,填错了导入时就会被拒。我们没有做这个功能,而不是给你一个导入会失败的文件。
  • 不会自动分类。 QIF 里的分类、对账标记和拆分按原样照抄;OFX 不会去猜分类。
  • 不提供滚动余额。 OFX 只在最后给出一次余额,而不是每笔交易之后都有,所以表格里只有交易。
  • 不读 PDF 对账单。 PDF 里没有交易数据,只有排在页面上的文字,那是另一个问题。
  • 只有持仓、没有交易的文件会如实提示,不会给出一张空表。

直接试试

在浏览器里转换,文件不上传,不用注册。

常见问题

没有 Quicken 怎么打开 QFX 文件?

把它转成 Excel 或 CSV。QFX 里面是 OFX,一棵标签树,Excel 只会显示成标记代码;转换器读出这些标签,写成每笔交易一行、日期和金额都是真数值的表格。

QBO 文件能用 Excel 打开吗?

能打开,但没法用。Excel 没有 OFX 的导入功能,只会显示成一行行标签。先转换;QBO 原文件不受影响,照样可以导入 QuickBooks。

把 QBO 改名成 QFX 或 OFX 就能打开吗?

在 Excel 里不行。三者里面是同样的文本,我们测试时三个名字在 Excel 里显示的都是同样的 83 行标签。

QFX、QBO、OFX 有什么区别?

只是写给不同的软件。三者里面都是 OFX;QFX 加了给 Quicken 的 Intuit 字段,QBO 加了给 QuickBooks 的银行标识。交易的写法三者完全一样。

在线转换银行对账单安全吗?

看转换在哪里进行。如果网站要上传文件,你的交易记录就会在它的服务器上留一份。这里的转换在浏览器里完成,不发送任何内容,可以在网络面板里核实。

相关文章