1. 程式人生 > >BasicExcel API介紹

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()

清空當前單元格的內容