⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abaoexcel.h

📁 用vc编写的将数据导入到excel的程序
💻 H
字号:
#ifndef _abaoExcel_h_

/************************************
  REVISION LOG ENTRY
  Revision By: abao++
  Revised on 2006-8-11 8:13:07
  Comments: ...
看了无数关于vc调用excel的贴,可是都是原始的方法,用起来一个字,不方便
为了做一个项目,特封装了一个类,功能那是非常之。。。。。。。。。。弱弱的。
不过一般简单的excel文档可以搞定了。而且,这个是可以扩展,可以继承的,,继承就免了吧,
改一下俺不会告你侵权的,不过最好不要擦除俺的功劳,虽然俺只写了几个简单函数

调用前请确保已经调用了如下函数初始化com库,

	if (CoInitialize(NULL)!=0) 
	{ 
		AfxMessageBox("初始化COM支持库失败!"); 
		exit(1); 
	} 
 ************************************/

#define _abaoExcel_h_

#include "excel.h"
#include <comdef.h>


enum RangeHAlignment{HAlignDefault=1,HAlignCenter=-4108,HAlignLeft=-4131,HAlignRight=-4152};
enum RangeVAlignment{VAlignDefault=2,VAlignCenter=-4108,VAlignTop=-4160,VAlignBottom=-4107};



 
class AbaoRange
	{
		Range rg;//内部用range
	public:
		AbaoRange(Range& range);//从一个range构造
		void Merge();//合并
		AbaoRange& operator=(const CString s); //填入一个s,,
		AbaoRange& operator=(const char* str);//填入char*
		AbaoRange& operator=(Range& range);//赋值另一个range
		int Border(short mode=1,long BoderWidth=1,long ColorIndex=1, VARIANT color=COleVariant((long)DISP_E_PARAMNOTFOUND,VT_ERROR));
		//设置边框,参数我还没有弄清楚
		int SetHAlign(RangeHAlignment mode=HAlignDefault);
		//设置对齐方式
		int SetVAlign(RangeVAlignment mode=VAlignDefault);
		//设置竖直对齐
	};
	class AbaoExcel
	{

	public:
		_Application App; //excep
		Workbooks workbooks; //workbooks
		_Workbook workbook; //workbook
		Sheets sheets; //sheet
		_Worksheet sheet; //当前的表 ,可以通过SelectSheet 来改变
		Range range; //range
		AbaoExcel();
		~AbaoExcel();
		_Worksheet& ActiveSheet();//当前活动的sheet,在SelectSheet 后改变
		Range& ActiveSheetRange();//当前的range,在使用GetRange后改变
//		int Add(CString& ExtPath=CString(""));//从一个模版构造
		int Add(CString& ExtPath);//从一个模版构造
		_Worksheet& SelectSheet(CString& SheetName);//选择一个已知表名的表
		_Worksheet& SelectSheet(char* SheetName){return SelectSheet(CString(SheetName));};//选择一个已知表名的表
		_Worksheet& SelectSheet(int index);//选择一个已知表名的表
		int SetCell(int row,int col,CString &str);//指定行列的单元格填入值
		int SetCell(int row,int col,char* str);//指定行列的单元格填入值
		int SetCell(int row,int col,long lv);//指定行列填入long值
		int SetCell(int row,int col,double dv,int n=6);//指定行列填入浮点值,并截取为指定的小数位
		Range& GetRange(CString RangeStart,CString RangeEnd);//获取range,
		Range& GetRange(CString RangeStr);//获取range A1:A2模式
		int MergeRange(CString RangeStr);//合并Range
		int SetVisible(bool visible) {App.SetVisible(visible);return 1;}//设置为可见以及隐藏
		int SaveAs(CString &FileName);//保存到文件名
		int Save();
		int Copy(_Worksheet &sht);//复制一个sheet	
	};
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -