BasicExcel API介绍

BasicExcel是一个基于STL C++的Excel文件读写类,由CSpreadSheet作者开发,不依赖ODBC,支持跨平台使用。它提供创建、加载、保存、添加、删除和重命名工作表的功能,以及读写单元格数据。但不支持格式化、公式、图表和UnicodeUTF-32。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个用STL C++写的读写Excel文件的类,是CSpreadSheet作者封装的,与CSpreadSheet的区别:不依赖ODBC,而CSpreadSheet依赖ODBC,需要MFC库的支持,不能跨平台。

BasicExcel的限制:

1)不支持格式化;

2)不支持公式;

3)不支持图表;

4)不支持Unicode UTF-32;

5)中文支持不好;

 

class BasicExcel

void New(int sheets=3)

创建一个新工作薄,默认3张工作表

bool Load(const char* filename)

载入一个已存在的工作薄文件

bool Save()

保存当前工作薄到已载入文件

bool SaveAs(const char* filename)

保存当前工作薄到一个新文件

size_t GetTotalWorkSheets()

获取当前工作薄的工作表数目

BasicExcelWorksheet* GetWorksheet(size_t sheetIndex)

BasicExcelWorksheet* GetWorksheet(const char* name)

BasicExcelWorksheet* GetWorksheet(const wchar_t* name)

获取指定索引的工作表对象,索引从0开始,索引无效则返回值为NULL

获取指定名称的工作表对象,名称无效则返回值为NULL

BasicExcelWorksheet* AddWorksheet(int sheetIndex=-1)

 

 

BasicExcelWorksheet* AddWorksheet(const char* name, int sheetIndex=-1)

BasicExcelWorksheet* AddWorksheet(const wchar_t* name, int sheetIndex=-1)

添加指定索引的工作表,名称默认为SheetX,X从1开始,如果sheetIndex==-1,则默认添加到最后一个位置

 

添加指定名称和索引的工作表,如果sheetIndex==-1,则默认添加到最后一个位置

bool DeleteWorksheet(size_t sheetIndex)

bool DeleteWorksheet(const char* name)

bool DeleteWorksheet(const wchar_t* name)

删除指定索引或名称的工作表

char* GetAnsiSheetName(size_t sheetIndex)

wchar_t* GetUnicodeSheetName(size_t sheetIndex)

bool GetSheetName(size_t sheetIndex, char* name)

bool GetSheetName(size_t sheetIndex, wchar_t* name)

获取指定索引的工作表名称

bool RenameWorksheet(size_t sheetIndex, const char* to)

bool RenameWorksheet(size_t sheetIndex, const wchar_t* to)

bool RenameWorksheet(const char* from, const char* to)

bool RenameWorksheet(const wchar_t* from, const wchar_t* to)

重命名指定索引或名称的工作表

 

class BasicExcelWorksheet

char* GetAnsiSheetName()

wchar_t* GetUnicodeSheetName()

bool GetSheetName(char* name)

bool GetSheetName(wchar_t* name)

获取当前工作表的名称

bool Rename(const char* to)

bool Rename(const wchar_t* to)

重命名当前工作表

void Print(ostream& os, char delimiter=',', char textQualifier='\0')

输出整张工作表到指定输出流,指定列分隔字符和文本限定符

指定列分隔符为','和文本限定符为'\"',该函数可以用来保存当前工作表为CSV格式

size_t GetTotalRows()

获取当前工作表的总行数

size_t GetTotalCols()

获取当前工作表的总列数

BasicExcelCell* Cell(size_t row, size_t col)

获取指定行、列的单元格对象,行、列值从0开始,如果行值超过65535或者列值超过255则返回NULL

bool EraseCell(size_t row, size_t col)

清空指定行、列的单元格对象的内容

 

class BasicExcelCell

int Type() const

获取单元格值类型,包括以下值:UNDEFINEDINTDOUBLESTRINGWSTRING

bool Get(int& val) const

bool Get(double& val) const

bool Get(char* str) const

bool Get(wchar_t* str) const

从当前单元格获取指定类型的内容

size_t GetStringLength()

获取当前单元格字符串长度

int GetInteger() const

double GetDouble() const

const char* GetString() const

const wchar_t* GetWString() const

从当前单元格获取指定类型的内容

ostream& operator<<(ostream& os, const BasicExcelCell& cell)

输出当前单元格内容到输出流中

void Set(int val)

void Set(double val)

void Set(const char* str)

void Set(const wchar_t* str)

输出指定格式的内容到当前单元格

void SetInteger(int val)

void SetDouble(double val)

void SetString(const char* str)

void SetWString(const wchar_t* str)

输出指定格式的内容到当前单元格

void EraseContents()

清空当前单元格的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值