BasicExcel API介紹

一個用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()

清空當前單元格的內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章