如何使用非托管 C++ 将新行添加到 Excel 文件?
如何使用在 Windows 上运行的非托管 C++ 将新行(包含内容)添加到现有 Excel .xls 文件?
我不介意使用 OLE、COM 或任何外部免费库,无论是最简单的方法。
How can I add a new row (with contents) to an existing Excel .xls file using unmanaged C++ running on Windows?
I don't mind using OLE, COM, or any external free library, whatever is the easiest way.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有一个 COM 接口,有详细记录。
我建议您从
开始Workbooks.Open
方法打开现有的 Excel 文件。如果您只需要基本功能(无格式、公式等),您还可以使用 BasicExcel:一个没有任何依赖项的 C++ 库(它以复合文件的形式读取和写入 Excel 文件),并且比 COM 接口(至少在 C++ 中)更容易使用。
There is a COM interface which is well documented.
I'd suggest you start with the
Workbooks.Open
method to open an existing excel file.If you only need basic features (no formatting, formula's, ...), you can also use BasicExcel: A c++ library which doesn't have any dependencies (it reads and writes the excel file as a compound file) and is much easier to use than the COM interface (at least from c++).
我已经使用 SQL 来做到这一点。我手边没有示例代码,但快速的谷歌搜索提出了这个: 链接
希望它有帮助。
I've used SQL to do this. I don't have sample code handy, but a quick google search brought this up: Link
Hope its helpful.
如果您没有使用托管库的限制,您可以查看 NPOI,这是一个用于处理 Excel 的托管库文件格式。
由于它是受管理的,因此应该可以将其注册为 COM 服务器。如果出于任何原因,证明很难/不可能将其注册为 COM 服务器,您可以编写一个瘦 COM 服务器(用 C++ 或 C# 或您喜欢的任何语言)来仅向非托管 C++ 代码公开您需要的功能。
If you have no restrictions to use managed libraries you can check NPOI, a managed library to handle Excel file format.
Since it is managed it should be possible to register it as a COM server. If, for any reason, it proves hard/impossible to register it as a COM server you can write a thin COM server (either in C++ or C# or whatever you prefer) to expose just the functionality you need to your unmanaged C++ code.
我用过这个:ExcelFormatLib,它很棒且易于使用,C++ ,维护良好,编译和运行没有任何问题。
I've used this one: ExcelFormatLib, it's great and simple to use, C++, well maintained, compiles and works without any trouble.