纯c++怎么生成excel文件?
个人理解:vc可以用COM生成xls文件,但是COM需要客户的机器上安装了某一个版本的excel,这点不好满足。如果不使用COM,则需要自己根据excel某个版本的格式来写二进制文件,这里也有个问题,excel的格式MS现在已经不提供了。
我的需求其实很简单,就是将程序里面的一些数据,用UTF-8编码(因为软件可能需要拿到国外去用)写到xls文件中。(如果是csv文件,utf-8编码好像有问题,excel打不开,不然就用逗号分割后保存为csv就好了)
不知道哪位大虾可以指点一二?
问题点数:20、回复次数:7Top
1 楼lovejsp()回复于 2005-10-07 09:43:33 得分 3
纯C++不好实现吧,我也没有接触过。Top
2 楼ookook(黑暗之光)回复于 2005-10-07 16:52:59 得分 3
TCHAR pBuf = _T("\"ABCDEFG\"\t\"ABCDEFG\"\t\"ABCEDFG\"");
WriteFileW(pBuf);
你试试这种,存为xls的以Tab分割的文本文件Top
3 楼level1979(岳麓飘湘)回复于 2005-10-08 15:09:02 得分 3
有一种简单的方法,就是在各个字段之间加空格,如:AAAA" "bbbb" "dddd
这样写到一个以excel标示结尾的文件就可以用excle读出来。
具体的方法建议你到ASP或ASP.net的网站中去找Top
4 楼godidea(国民先锋)回复于 2005-10-08 15:20:02 得分 3
用com并不要求客户机安装有excel,只要有运行库就行了,mso.dll; excel.obj 拷到系统目录下就够了Top
5 楼XBox360(菜)(鸟)回复于 2005-10-08 17:39:26 得分 3
比较支持ookook(黑暗之光)的做法
偶以前就是这样写的
速度很快,但是不能设定列宽等等Top
6 楼starwalker(飞)回复于 2005-10-08 18:29:47 得分 3
要不你了解一下xls的文件格式好了Top
7 楼wangxg_nju()回复于 2005-10-17 17:22:59 得分 2
多谢各位大人!最终还是没有用COM,直接写unicode 的csv文件了.多谢多谢.Top




