【求助】求助 怎么编写C/C++程序读Excel文件数据
展开全部
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:随便写的,很粗糙,搂住可以自己加入需要的功能 和 错误处理代码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询