头文件中函数定义
//启动EXCEL程序
BOOL Init();
//关闭EXCEL,释放资源
void Close();
//从EXCEL读取数据前的加载函数
BOOL InitRead(const char* filePath);
//保存EXCEL表到 filePath
BOOL Save(const char* filePath);
static int CharToInt(string scol);
//写入一个Cell中一个string型数据
BOOL SetCellString(int irow, int icol, string new_string);
//写入一个Cell中一个double型数据
BOOL SetCellDouble(int irow, int icol, double new_double);
//写入一个Cell中一个int型数据
BOOL SetCellInt(int irow, int icol, int new_int);
//检查一个Cell是否是字符串、double数据、空、int数据 1 字符串\\2 double数据\\3 空\\4 int数据
int CheckCellType(int irow, int icol);
/* template <typename MyData>
MyData GetCellValue(int irow, int icol);*/
//目前只考虑获取三种数据类型
//获取String类型的Cell
string GetCellString(int irow, int icol);
//获取Double类型的Cell
double GetCellDouble(int irow, int icol);
//获取int类型的Cell
int GetCellInt(int irow, int icol);
//获取行的总数
int GetRowCount(const char* filePath);
//获取列的总数
int GetColumnCount(const char* filePath);
//获得单元格的名称,比如 2行3列= C2
static string GetCellName(int irow, int icol);
//设置单个单元格的颜色
void SetCellColor(int irow, int icol, int red, int green, int blue);
//设置一定范围单元格的颜色 (brow,bcol)为起始单元格 (erow,ecol)为结束单元格
void SetRangeColor(int brow, int bcol, int erow, int ecol, int red, int green, int blue);
//设置单个单元格的背景颜色
//icolor<=56 icolor(常用) = 1黑 /2白 /3红 /4绿 /5蓝 /6黄 /7紫 /8青
void SetCellBackground(int irow, int icol, int icolor);
//设置一定范围单元格的背景颜色 (brow,bcol)为起始单元格 (erow,ecol)为结束单元格
//icolor<=56 icolor(常用) = 1黑 /2白 /3红 /4绿 /5蓝 /6黄 /7紫 /8青
void SetRangeBackground(int brow, int bcol, int erow, int ecol, int icolor);
//设置单个单元格的边框为黑色实线
void SetCellBorder(int irow, int icol);
//设置一定范围单元格的边框 (brow,bcol)为起始单元格 (erow,ecol)为结束单元格
void SetRangeBorder(int brow, int bcol, int erow, int ecol);
//设置单个单元格的字体风格,比如 "宋体"、"华文行楷"
void SetCellFont(int irow, int icol,const char *font);
//设置一定范围单元格的字体风格,比如 "宋体"、"华文行楷"
//(brow, bcol)为起始单元格(erow, ecol)为结束单元格
void SetRangeFont(int brow, int bcol, int erow, int ecol, const char *font);
//设置单个单元格的字体大小
void SetCellSize(int irow, int icol, int size);
//设置一定范围单元格的字体大小 (brow,bcol)为起始单元格 (erow,ecol)为结束单元格
void SetRangeSize(int brow, int bcol, int erow, int ecol, int size);
部分代码实现,将字母转换为数字 例如:“A3”格式转为“13”
//将int类型的irow转换为string类型的srow
string srow;
string scol;
string result;
stringstream sstemp;
sstemp << irow;
sstemp >> srow;
//当列数小于等于26时 返回值为单个字母+数字
if (icol <= 26 && icol > 0)
{
char ctemp = 'A';
ctemp = 'A' + icol - 1;
result = ctemp + srow;
return result;
}
//目前只考虑列数范围在ZZ以内
//当列数大于26时 返回值为两个字母+数字
else if(icol > 26)
{
//ctemp1 表示第一个字母
char ctemp1 = 'A';
//ctemp2 表示第二个字母
char ctemp2 = 'A';
int itemp1 = (icol - 1) / 26 - 1;
int itemp2 = icol % 26 - 1;
if (itemp2 == -1)
{
itemp2 = 25;
}
ctemp1 = 'A' + itemp1;
ctemp2 = 'A' + itemp2;
//将字符类型转换为字符串类型
stringstream sstemp1;
stringstream sstemp2;
sstemp1 << ctemp1;
sstemp2 << ctemp2;
scol = sstemp1.str() + sstemp2.str();
result = scol + srow;
return result;
}
代码下载:https://download.csdn.net/download/yuer_xiao/10344650