ARTICLE · 1331666
read-excel,一个强大的c++库
read-excel/1.2.8 是一个用 C++ 写的、非常简单的 Excel 97-2003(BIFF8)格式读取库。它的定位特别纯粹:只读不写,专门处理那个老式的 .xls 二进制格式。
🎯 它到底能干什么?
它的功能就一件事:把老版 Excel 文件里的数据读出来。它支持 BIFF8 标准(也就是 Excel 97 到 2003 用的格式),作者还顺便部分支持了更老的 BIFF7(Excel 95),但测试得比较少。你没法用它来创建或修改 Excel 文件,它就是一个纯粹的“读取器”。
🛠️ 用起来是什么感觉?
作为 C++ 库,它的卖点是开发者友好和跨平台。作者自己拿它跟纯 C 的 libxls 做过对比,两者速度几乎一样(一个测试里 326ms vs 302ms),但 read-excel 因为是 C++ 实现,抽象层次更高,用起来更顺手,而且原生跨平台。它零依赖,在 Conan 上直接 requires("read-excel/1.2.8") 就能拉下来用,MIT 许可证,商业项目随便用。
⚠️ 一个必须知道的“现状”
这个项目已经不再维护了。作者在 GitHub 上明确写了“This project is not supported anymore”,最后的版本 1.2.8 停留在 2022 年 12 月发布。虽然他说如果感兴趣的人多可以重新启动,但就目前来看,它就是一个“稳定但定格”的状态。
另外要提醒一句:它只认 .xls。如果你手头是现代的 .xlsx 文件(本质是 ZIP 包),它完全无能为力,你得去找 xlnt 或者 libxlsxio 这类库。
一句话总结:如果你有一个 C++ 项目需要读老式 .xls 文件,又不想用纯 C 的 libxls 折腾内存管理,read-excel 就是一个干净、零依赖、MIT 许可证的 C++ 选择。但它已经停更了,而且只认老格式,用之前确认一下你的文件类型。















































































