C 实现一个简单的数据对比工具

本文档介绍如何使用C++基于MFC创建一个数据对比工具,涉及与Excel的交互。首先,创建基于对话框的MFC项目,并在stdafx.h中引入Excel相关头文件及库。在操作Excel时,遇到新建表格Add方法无效的问题,选择复制已有模板作为解决方案。接着,详细讲述了对话框控件的设置和关联,以及功能实现的代码编写。在实现过程中,注意解决启动Excel报错、LoadSheet方法参数匹配及新建表格的问题。
摘要由CSDN通过智能技术生成

1、首先这个工具是基于MFC的,先建立一个基于对话框的项目

2、引入exce.h和excel.cpp文件,要在stdafx.h添加:

   (1)、#include"excel.h",#pragma comment(lib,"comsupp.lib"),与project->setting中Link中设置一样

  (2)、typedef    std::wstring    PMTSTRING;我的代码里使用了PMTSTRING这种类型

 2、操作Excel的文件

(1).h

class CExcelOpr
{

public:
//private:
	CExcelOpr() ; 

public:
	virtual ~CExcelOpr();
//	static CExcelOpr & Instance() ; 


public:
	/// 启动excel 
	void	StartExcel() ;

	/// 释放资源
	void	ReleaseExcel() ; 

	/// 启动excel 
	void	OpenBook( const PMTSTRING & strFileName ) ;

	/// 关闭
	void	CloseBook() ; 

	/// 
	void    LoadSheet( const int iIndex);  

	/// 
	void    LoadSheet( const CString & strSheetName ) ;

	/// 
	int GetRowCount() ;   

	/// 
	int GetColCount();   

	/// 
	CString GetCell(  const int iCol , const int iRow  );   
	
	/// 
	int		GetSheetCount() ;

	/// 
	CString GetSheetName( const int iIndex ) ;


	/// 关闭excel 
	void	CloseExcel() ; 

	/// 获取指定表格的内容
	PMTSTRING	GetText( const PMTSTRING & strRange ) ; 

	/// 
	BOOL	IsMergeCell( const int iSrcRow , const int iSrcCol  , CString & strText ) ;
	

	CString		GetRangeText( Range & range ) ; 

public:

	void	SetCell( const int iCol , const int iRow , const PMTSTRING & strValue ) ; 

	void	SaveBook(  const PMTSTRING & strFileName  ) ; 

	void	NewExcelBook(const PMTSTRING & strFileName);
	void    MergeCell(const int iCol, const int iRow);
private:

	/// excel app 操作
	_Application m_app;

	/// 
	Workbooks m_books;
	
	/// 
	_Workbook m_book;

	/// sheet 页
	Worksheets m_sheets;

	/// 单个sheet 页
	_Worksheet m_sheet;

	/// 处理范围
	Range m_range;

	long m_lFileFormat ; 
};

(2).cpp实现方法,网上有许多实现方法,我是直接引入的Excel操作方法,我只写上没有的


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值