如何用VC++6.0 访问excel数据 计算结果保存到excel

买卖208 2014-02-18 11:14:05
如何用VC++6.0 访问excel数据 计算结果保存到excel,谢谢!
开始如下表1


结果是这样的



非常感谢,自己最近忙了一周也没有一个结果,谢谢各位高手
...全文
217 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-02-19
  • 打赏
  • 举报
回复
或者可以简单地: 在Excel中将.xls数据文件另存为.csv格式(逗号间隔列,回车间隔行的纯文本文件) 用C/C++读.csv文件,将计算结果保存到另一个.csv文件, 在Excel中读入结果.csv文件,另存为.xls文件。
vipcxj 2014-02-19
  • 打赏
  • 举报
回复
关键词 ole,网上例子很多,还有什么oledb 我最近其实就在搞这个,其实如果想通过ole调用API,但是具体是哪些API,貌似msdn只提供了VB版本的API,我试过,基本都能用ole对应调用那些VB版本的API。还有其实就像网上说的,ole其实是跨进程通信,它直接在后台开了个excel,然后让那个excel做着做那,效率肯定不会很高。我的想法是将数据全部读到内存中自己的结构中,处理完再一次性放回去,这样基本就不会有效率问题了。但它毕竟后台开了个excel,所以必须做好代码收尾工作,保证这样打开的excel被关掉,不然,只能用任务管理器结束进程了。因为这些excel你写的程序不在一个进程,甚至可以说毫无关系,你的程序退了,它们也不会退。
许文君 2014-02-19
  • 打赏
  • 举报
回复
大致写过一段

	IWorkspaceFactoryPtr ipWSFac;
		hr = ipWSFac.CreateInstance(__uuidof(ShapefileWorkspaceFactory));
		if(FAILED(hr))
			return false;

		IWorkspacePtr ipShapeWS;
		hr = ipWSFac->OpenFromFile(CComBSTR(szShapeDir), NULL, &ipShapeWS);
		if(FAILED(hr) || ipShapeWS == NULL)
			return false;
		IFeatureWorkspacePtr ipFWS = ipShapeWS;
		IFeatureClassPtr ipFC; 
		hr = ipFWS->OpenFeatureClass(CComBSTR(szShapeName), &ipFC);
		if(FAILED(hr) || ipFC == NULL)
			return false;
		IFeatureCursorPtr pFCursor;
		hr = ipFC->Search (NULL,VARIANT_TRUE,&pFCursor);
		if(FAILED(hr) || pFCursor == NULL)
			return false;
		long	lFieldCount = 0;
		IFieldsPtr pFields;
		IFieldPtr pField;
		hr =  pFCursor->get_Fields (&pFields);
		if(FAILED(hr) || pFCursor == NULL)
			return false;
		hr = pFields->get_FieldCount (&lFieldCount);
		if(FAILED(hr))
			return false;
		IFeaturePtr pFeature;
		hr = pFCursor->NextFeature (&pFeature);
		if(FAILED(hr) || pFeature == NULL)
			return false;
		CComBSTR bstrName;
		CComVariant  varVal;
		CString strCodeVal;
		CString stProvCode;
		CString strCityVal;
		bool bName = false;
		bool bVal = false;
		while(pFeature)
		{
			for (int t = 0 ; t < lFieldCount ; t++)
			{
				pFields->get_Field(t, &pField);
				pField->get_Name(&bstrName);
				....
这是取数据大致流程,记得使用完释放接口,或者使用CComPtr
modyaj 2014-02-18
  • 打赏
  • 举报
回复
关键你要知道如何用VC++操作表格啊!C#弄过哈!VC++就不知道的了
gz_qmc 2014-02-18
  • 打赏
  • 举报
回复
晕 这还用编程!!! 还是先学好EXCEL吧
翅膀又硬了 2014-02-18
  • 打赏
  • 举报
回复
引用 3 楼 mm208 的回复:
我不会取数据啊!呵呵
额,我也没取过,只写过,还有合并单元格插图片那些。
赵4老师 2014-02-18
  • 打赏
  • 举报
回复
在Excel 2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
买卖208 2014-02-18
  • 打赏
  • 举报
回复
我不会取数据啊!呵呵
翅膀又硬了 2014-02-18
  • 打赏
  • 举报
回复
你是不会取数据还是不会写数据呀?

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧