如何在C ++中将数据写入Excel文件

我正在用Visual Studio 2012 C ++进行编程。 我的教授要求我把我的程序的结果放到一个excel文件中,而不是一个.txt文件,因为其他人更容易理解。 有一些接口,我可以在我的C + +程序中使用,直接生成一个Excel文件,并将其中的数据?

如果你不想使用第三方库或自动化,你需要一些格式(颜色,字体等),你可以简单地创build一个开放的办公室XML。 http://en.wikipedia.org/wiki/Microsoft_Office_2003_XML_formats

你的教授会接受一个CSV文件吗? 这是一个字符分隔值; 通常使用逗号作为分隔符,但Excel也会接受制表符。 Excel可以自动加载这些东西,并将input分割成单独的行和列。 我怀疑那是教授的事。

否则,使用Excel的组件对象模型(COM)是另一个路线。 但是这涉及更多。

现代的EXCEL版本可以读取各种格式,不仅是原生的EXCEL格式,而且其中一些格式比其他格式更容易生成。

您可以使用自动化生成原生EXCEL文件,但是这很困难,麻烦而且脆弱(有时在没有理由的情况下停止工作)。

如果您只想填写一些单元格,最简单的方法就是编写一个CSV文件。

如果您想更多地控制工作表的格式或布局,可以使用Excel 2003 XML格式。 只要创build一个你喜欢的文件模板,并用它来创build你自己的模板:它是简单的XML,相对容易理解。

有一个名为XLSX I / O的可移植的C / C ++库,可以写入.xlsx文件,甚至不需要安装Excel。 请参阅: https : //sourceforge.net/projects/xlsxio/

我一直在Linux中使用这个库:

https://github.com/jmcnamara/libxlsxwriter.git

它运作良好,当然,它是快速的。

只要您需要文件中的多个表单,“使用csv”通知就会停止工作,因为这是我的情况。