📄 abaoexcel.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 "excel9.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
Worksheets sheets; //sheet
_Worksheet sheet; //当前的表 ,可以通过SelectSheet 来改变
Range range; //range
AbaoExcel();
~AbaoExcel();
_Worksheet &ActiveSheet(); //当前活动的sheet,在SelectSheet 后改变
Range &ActiveSheetRange(); //当前的range,在使用GetRange后改变
int Add(CString &ExtPath = CString("")); //从一个模版构造
_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 Copy(_Worksheet &sht); //复制一个sheet
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -