【求助】求助 怎么编写C/C++程序读Excel文件数据

 我来答
卖萌才是王道65
2013-08-23 · 超过78用户采纳过TA的回答
知道答主
回答量:145
采纳率:75%
帮助的人:72.1万
展开全部
nono2009(站内联系TA)先将excel文件另存为带格式的csv数据文件,然后就像读txt文件一样了。magic7004(站内联系TA)Excel可以当成数据库来读写,不过对数据格式貌似有限制,不推荐。 还有就是用com来操作excel了,可以实现excel的几乎所有功能,推荐。 jjdg(站内联系TA)对 但是我做的一个程序中,必须要用c/c++读Excel表中的数据,而且我只会C/C++,不会其他的语言magic7004(站内联系TA)汗下,搂住com不是语言的...magic7004(站内联系TA)要么搂住用DAO把Excel当数据库吧。magic7004(站内联系TA)senlia(金币+2,VIP+0):请问能否详细讲解如何用com或者dao处理excel文件?谢谢 11-19 13:55详细讲解的话可以写本书了。 搂住既然需要操作excel,还是学习下com或者数据库的知识比较好。 ps:建议搂住用vb或者C#来做Excel的操作,简单很多的。至于计算部分,用C++做成Dll就好了。 搂住如果是为了学习的话,还是别怕麻烦,找本书看看。 如果只是要解决问题,那就想想变通的方法吧。比如按照沙发说的,做成csv(Comma Separated Values),它是纯文本的文件,每行是一条记录,记录中的每个字段用逗号(英文的)分隔开就行了。CSV可以用excel直接打开的。wxl_23(站内联系TA)建议一下,可以用python来写呀,这样就可以读Excel文件的数据了。magic7004(站内联系TA)今天有空,写了个简单的例子,搂住看看吧。我用VC++ 6.0 和 Office 2003做的。 用法:首先创建或打开一个工程(MFC的或者Win32的都行),然后按下面步骤: 1、把文件ExcelOperation.h、ExcelOperation.cpp、Excel.h和Excel.cpp全部加入到工程中。 2、打开工程的StdAfx.h,如果里面没有#include,就加上这行。 3、选菜单Project-->Settings...,在Project Settings窗口中选C/C++标签,然后Catagory选Code Generation,然后Use run-time library选Multithreaded 或 Multithreaded Dll(看附件图片)。 4、在搂住自己的cpp中加入#include "ExcelOperation.h"就可以使用ExcelOperation类了。 类包含OpenXls,CreateXls,CloseXls,ReadCell,WriteCell 共5个成员函数,参数都很简单,用法看下面的例子。 #include "stdafx.h" #include "ExcelOperation.h" int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){// TODO: Place code here. ExcelOperation excel;try{excel.CreateXls("D:\\sss.xls"); //创建D:\sss.xls excel.WriteCell(1,1,1,COleVariant("Hello! :-)")); //向Sheet1的A1单元格写入字符串Hello! :-) COleVariant va = excel.ReadCell(1,1,1); //读出Sheet1的A1单元格 CString s("Sheet1!A1 ="); s += va.bstrVal; MessageBox(NULL,s,NULL,MB_OK); //用MessageBox显示其内容 excel.CloseXls(); //保存并关闭sss.xls}catch(char* e){MessageBox(NULL,e,NULL,MB_OK);}catch(...){MessageBox(NULL,"Something Wrong! :-(", NULL, MB_OK);}return 0;}ps:随便写的,很粗糙,搂住可以自己加入需要的功能 和 错误处理代码。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式