#pragma once
#ifndef EXCEL_H_
#define EXCEL_H_

#include <libxl.h>

/************************************************
* \brief 注册libxl产品
* \param pBook 
************************************************/
void setKey( libxl::Book * pBook );
void setKey( libxl::IBookT<char> * pBook );

/************************************************
* \brief 从xlsx文件单元格中读取数据，以字符串为返回值。
* \param pBook libxl的Book对象。
* \param sheetIndex sheet的索引值
* \param rowIndex 行号
* \param colIndex 列号
* \param isInteger 单元格为数字类型时，选择是输出整形还是浮点型字符串
* \return 返回的字符串
************************************************/
std::wstring ReadCellStringFromXlsx( libxl::IBookT<wchar_t> * pBook,
                                     unsigned int             sheetIndex,
                                     unsigned int             rowIndex,
                                     unsigned int             colIndex,
                                     bool                     isInteger );

/************************************************
* \brief 通过名称获取sheet
* \param sheetName 
* \return 
************************************************/
libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook, const std::wstring & sheetName );


#endif
