diff --git a/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/config.db b/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/config.db new file mode 100644 index 0000000..e69de29 diff --git a/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/telsale_aux_kit.vcxproj b/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/telsale_aux_kit.vcxproj index 1a66431..8404858 100644 --- a/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/telsale_aux_kit.vcxproj +++ b/代码/telsale_aux_kit/proj/vs2017/telsale_aux_kit/telsale_aux_kit.vcxproj @@ -167,9 +167,11 @@ $(SolutionDir)$(Platform)\$(Configuration)\ D:\develop\sdk\cpp\Qt\qt_5.10.1\5.10.1\msvc2017_64\lib;$(LibraryPath) + $(QTDIR)\include;$(QTDIR)\include\QtCore;$(IncludePath) $(SolutionDir)$(Platform)\$(Configuration)\ + $(QTDIR)\include;$(QTDIR)\include\QtCore;$(IncludePath) diff --git a/代码/telsale_aux_kit/source/DataManipulation.cpp b/代码/telsale_aux_kit/source/DataManipulation.cpp index 3ce7ef8..d8d8942 100644 --- a/代码/telsale_aux_kit/source/DataManipulation.cpp +++ b/代码/telsale_aux_kit/source/DataManipulation.cpp @@ -1,4 +1,3 @@ - #include #include #include @@ -9,99 +8,98 @@ #include "SystemDataQuery.h" #include "StringCodeConverter.h" - -#pragma comment( lib, "user32.lib") -#pragma comment( lib, "version.lib") -#pragma comment( lib, "oleaut32.lib") -#pragma comment( lib, "ole32.lib") -#pragma comment( lib, "libxl.lib") -#ifdef _DEBUG -#pragma comment( lib, "sqlapisd.lib") -#else -#pragma comment( lib, "sqlapis.lib") -#endif +//#pragma comment( lib, "user32.lib") +//#pragma comment( lib, "version.lib") +//#pragma comment( lib, "oleaut32.lib") +//#pragma comment( lib, "ole32.lib") +//#pragma comment( lib, "libxl.lib") -const char g_cszConnectStringIDS6[] = - "DRIVER={};" - "PROTOCOL=onsoctcp;" - "SERVICE=16191;" - "SERVER=xmcx1;" - "HOST=10.39.0.91;" - "DATABASE=ids6;" - "DB_LOCALE=en_US.819;"; +// #ifdef _DEBUG +// #pragma comment( lib, "sqlapisd.lib") +// #else +// #pragma comment( lib, "sqlapis.lib") +// #endif + +const char g_cszConnectStringIDS6[] = + "DRIVER={};" + "PROTOCOL=onsoctcp;" + "SERVICE=16191;" + "SERVER=xmcx1;" + "HOST=10.39.0.91;" + "DATABASE=ids6;" + "DB_LOCALE=en_US.819;"; const static char g_szUserNameIDS6[] = "ccx99"; const static char g_szPasswordIDS6[] = "c91IT09"; const static char g_cszConnstringYwgl[] = - "DRIVER={};" - "PROTOCOL=onsoctcp;" - "SERVICE=16192;" - "SERVER=xmcx2;" - "HOST=10.39.0.92;" - "DATABASE=ywgl_xm;" - "DB_LOCALE=en_US.819;"; + "DRIVER={};" + "PROTOCOL=onsoctcp;" + "SERVICE=16192;" + "SERVER=xmcx2;" + "HOST=10.39.0.92;" + "DATABASE=ywgl_xm;" + "DB_LOCALE=en_US.819;"; const static char g_cszUserNameYwgl[] = "ccx99"; const static char g_cszPasswordYwgl[] = "c92IT09"; -void queryTelsalePolicyGifts( vector &giftList ) +void queryTelsalePolicyGifts(vector& giftList) { SAConnection connection; - SACommand command; + SACommand command; string strSQL = "select id, trim(name), default_price from w_dx_gifts"; - command.setConnection( &connection ); - command.setCommandText( strSQL.c_str() ); + command.setConnection(&connection); + command.setCommandText(strSQL.c_str()); try { - connection.Connect( - g_cszConnstringYwgl, - g_cszUserNameYwgl, - g_cszPasswordYwgl, - SA_Informix_Client ); + connection.Connect(g_cszConnstringYwgl, + g_cszUserNameYwgl, + g_cszPasswordYwgl, + SA_Informix_Client); command.Execute(); } - catch ( SAException &error ) + catch (SAException& error) { - throw runtime_error( error.ErrText() ); + throw runtime_error(error.ErrText()); } - while ( command.FetchNext() ) + while (command.FetchNext()) { TelSalePolicyGift gift; - gift.Id( command.Field(1).asLong() ); - gift.GiftName( (const char *)(command.Field(2).asString()) ); - gift.GiftDefaultPrice( (const char *)(command.Field(3).asString()) ); + gift.Id(command.Field(1).asLong()); + gift.GiftName((const char *)(command.Field(2).asString())); + gift.GiftDefaultPrice((const char *)(command.Field(3).asString())); - giftList.push_back( gift ); + giftList.push_back(gift); } connection.Disconnect(); } -void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector & giftList) +void SaveTelSalePolicyInfo(const SPolicyRecord& policy, const vector& giftList) { - if ( policy.strPolicySerial.empty() == true ) + if (policy.strPolicySerial.empty() == true) { - throw invalid_argument( "保单号为空!" ); + throw invalid_argument("保单号为空!"); } - if ( policy.strSalerCode.empty() == true ) + if (policy.strSalerCode.empty() == true) { - throw invalid_argument( "保单号为空!" ); + throw invalid_argument("保单号为空!"); } ostringstream ostrCommand; - string strAutotraderCall; + string strAutotraderCall; //车店联呼 - if ( policy.bIsAutotraderCall == true ) + if (policy.bIsAutotraderCall == true) { strAutotraderCall = "1"; } @@ -110,20 +108,21 @@ void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector::const_iterator iter = giftList.begin(); iter != giftList.end(); ++iter ) + for (vector::const_iterator iter = giftList.begin(); iter != giftList.end(); ++iter) { - command.Param( 1 ).setAsString() = policy.strPolicySerial.c_str(); - command.Param( 2 ).setAsString() = iter->GiftName().c_str(); - command.Param( 3 ).setAsString() = iter->GiftDefaultPrice().c_str(); + command.Param(1).setAsString() = policy.strPolicySerial.c_str(); + command.Param(2).setAsString() = iter->GiftName().c_str(); + command.Param(3).setAsString() = iter->GiftDefaultPrice().c_str(); command.Execute(); } conn.Commit(); } - catch ( SAException &error ) + catch (SAException& error) { conn.Rollback(); conn.Disconnect(); - throw runtime_error( error.ErrText() ); + throw runtime_error(error.ErrText()); } conn.Disconnect(); } -void QueryTelSalePolicyInfo( const string & strPolicyNo, - const string & strOperatorCode, - const string & strStartDate, - const string & strEndDate, - vector & vPolicyInfo ) +void QueryTelSalePolicyInfo(const string& strPolicyNo, + const string& strOperatorCode, + const string& strStartDate, + const string& strEndDate, + vector& vPolicyInfo) { - SACommand command; + SACommand command; SAConnection connection; SPolicyQuery policy; - string strSQL = - "select trim(bdh) bdh, trim(zhjywy) zhjywy, to_char(czrq, '%Y年%m月%d日') czrq, trim(czydm) czydm, chdlh, zhjywybmm, kshmc, chshdm, chshmc " - " from w_dxbd_i " - " where 1=1 "; + string strSQL = + "select trim(bdh) bdh, trim(zhjywy) zhjywy, to_char(czrq, '%Y年%m月%d日') czrq, trim(czydm) czydm, chdlh, zhjywybmm, kshmc, chshdm, chshmc " + " from w_dxbd_i " + " where 1=1 "; - if ( !strPolicyNo.empty() ) + if (!strPolicyNo.empty()) { - strSQL.append( "and bdh = '" ); - strSQL.append( strPolicyNo ); - strSQL.append( "' " ); + strSQL.append("and bdh = '"); + strSQL.append(strPolicyNo); + strSQL.append("' "); } - if ( !strOperatorCode.empty() ) + if (!strOperatorCode.empty()) { - strSQL.append( "and czydm = '" ); - strSQL.append( strOperatorCode ); - strSQL.append( "' " ); + strSQL.append("and czydm = '"); + strSQL.append(strOperatorCode); + strSQL.append("' "); } - if ( !strStartDate.empty() ) + if (!strStartDate.empty()) { - strSQL.append( "and czrq >= '" ); - strSQL.append( strStartDate ); - strSQL.append( "' " ); + strSQL.append("and czrq >= '"); + strSQL.append(strStartDate); + strSQL.append("' "); } - if ( !strEndDate.empty() ) + if (!strEndDate.empty()) { - strSQL.append( "and czrq <= '" ); - strSQL.append( strEndDate ); - strSQL.append( "' " ); + strSQL.append("and czrq <= '"); + strSQL.append(strEndDate); + strSQL.append("' "); } try { - command.setCommandText( strSQL.c_str() ); - command.setConnection( &connection ); + command.setCommandText(strSQL.c_str()); + command.setConnection(&connection); connection.Connect( - g_cszConnstringYwgl, - g_cszUserNameYwgl, - g_cszPasswordYwgl, - SA_Informix_Client ); + g_cszConnstringYwgl, + g_cszUserNameYwgl, + g_cszPasswordYwgl, + SA_Informix_Client); command.Execute(); - while ( command.FetchNext() ) + while (command.FetchNext()) { - policy.strPolicySerial = command.Field("bdh").asString(); - policy.strSalerCode = command.Field("zhjywy").asString(); - policy.strDeptName = command.Field("zhjywybmm").asString(); - policy.strOfficeName = command.Field("kshmc").asString(); + policy.strPolicySerial = command.Field("bdh").asString(); + policy.strSalerCode = command.Field("zhjywy").asString(); + policy.strDeptName = command.Field("zhjywybmm").asString(); + policy.strOfficeName = command.Field("kshmc").asString(); policy.strAutoTraderCode = command.Field("chshdm").asString(); policy.strAutoTraderName = command.Field("chshmc").asString(); - policy.strInputDate = command.Field("czrq").asString(); - policy.strCDLH = command.Field("chdlh").asString(); + policy.strInputDate = command.Field("czrq").asString(); + policy.strCDLH = command.Field("chdlh").asString(); - QueryPolicyGifts( policy.strPolicySerial, policy.strGifts, policy.dGiftPriceSum ); + QueryPolicyGifts(policy.strPolicySerial, policy.strGifts, policy.dGiftPriceSum); - vPolicyInfo.push_back( policy ); + vPolicyInfo.push_back(policy); } connection.Disconnect(); } - catch ( SAException & error ) + catch (SAException& error) { - throw runtime_error( error.ErrText() ); + throw runtime_error(error.ErrText()); } } -void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGiftPriceSum ) +void QueryPolicyGifts(const string& strPolicyNo, string& strGifts, double dGiftPriceSum) { SAConnection connection; SACommand command; - string strSQL = - "select gift_name, gift_price " - " from w_dxbd_gift_i " - " where bdh = '" + strPolicyNo + "'"; + string strSQL = + "select gift_name, gift_price " + " from w_dxbd_gift_i " + " where bdh = '" + strPolicyNo + "'"; - string strSQLSum = - "select sum( gift_price ) " - " from w_dxbd_gift_i " - " where bdh = '" + strPolicyNo + "'"; + string strSQLSum = + "select sum( gift_price ) " + " from w_dxbd_gift_i " + " where bdh = '" + strPolicyNo + "'"; try { - command.setConnection( &connection ); - command.setCommandText( strSQL.c_str() ); + command.setConnection(&connection); + command.setCommandText(strSQL.c_str()); - connection.Connect( g_cszConnstringYwgl, - g_cszUserNameYwgl, - g_cszPasswordYwgl, - SA_Informix_Client ); + connection.Connect(g_cszConnstringYwgl, + g_cszUserNameYwgl, + g_cszPasswordYwgl, + SA_Informix_Client); command.Execute(); strGifts.clear(); dGiftPriceSum = 0.0; - while ( command.FetchNext() ) + while (command.FetchNext()) { - if ( !strGifts.empty() ) + if (!strGifts.empty()) { - strGifts.append( "; " ); + strGifts.append("; "); } - strGifts.append( command.Field("gift_name").asString() ); - strGifts.append( " " ); - strGifts.append( command.Field("gift_price").asString() ); - strGifts.append( "元" ); + strGifts.append(command.Field("gift_name").asString()); + strGifts.append(" "); + strGifts.append(command.Field("gift_price").asString()); + strGifts.append("元"); dGiftPriceSum += command.Field("gift_price").asDouble(); } @@ -355,9 +354,9 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif connection.Disconnect(); } - catch ( SAException & error ) + catch (SAException& error) { - throw runtime_error( error.ErrText() ); + throw runtime_error(error.ErrText()); } } @@ -451,152 +450,150 @@ void QueryPolicyGifts(const string & strPolicyNo, string & strGifts, double dGif pBook->release(); }*/ -string readXlsCell(ISheetT * pSheet, int iRowIndex, int iColIndex) +string readXlsCell(ISheetT* pSheet, int iRowIndex, int iColIndex) { string strCell; - char szNum[40]; - int iCell; + char szNum[40]; + int iCell; - if ( pSheet == NULL ) + if (pSheet == NULL) { throw string(""); } - CellType cellType = pSheet->cellType( iRowIndex, iColIndex ); + CellType cellType = pSheet->cellType(iRowIndex, iColIndex); - switch( cellType ) + switch (cellType) { - case libxl::CELLTYPE_STRING: - strCell = pSheet->readStr( iRowIndex, iColIndex ); - break; - case libxl::CELLTYPE_NUMBER: - memset( szNum, NULL, 40 ); + case libxl::CELLTYPE_STRING: + strCell = pSheet->readStr(iRowIndex, iColIndex); + break; + case libxl::CELLTYPE_NUMBER: + memset(szNum, NULL, 40); - iCell = pSheet->readNum( iRowIndex, iColIndex ); - sprintf( szNum, "%d", iCell ); - strCell = szNum; + iCell = pSheet->readNum(iRowIndex, iColIndex); + sprintf_s(szNum, "%d", iCell); + strCell = szNum; - break; - default: - strCell = ""; + break; + default: + strCell = ""; } return strCell; } -string readXlsxCell(ISheetT * pSheet, int iRowIndex, int iColIndex) +string readXlsxCell(ISheetT* pSheet, int iRowIndex, int iColIndex) { wstring strCell; - string strReturn; + string strReturn; char szNum[40]; - int iCell; + int iCell; - if ( pSheet == NULL ) + if (pSheet == NULL) { throw string(""); } - CellType cellType = pSheet->cellType( iRowIndex, iColIndex ); + CellType cellType = pSheet->cellType(iRowIndex, iColIndex); - switch( cellType ) + switch (cellType) { - case libxl::CELLTYPE_STRING: - strCell = pSheet->readStr( iRowIndex, iColIndex ); - break; - case libxl::CELLTYPE_NUMBER: - memset( szNum, NULL, 40 ); + case libxl::CELLTYPE_STRING: + strCell = pSheet->readStr(iRowIndex, iColIndex); + break; + case libxl::CELLTYPE_NUMBER: + memset(szNum, NULL, 40); - iCell = pSheet->readNum( iRowIndex, iColIndex ); - sprintf( szNum, "%d", iCell ); - strReturn = szNum; + iCell = pSheet->readNum(iRowIndex, iColIndex); + sprintf_s(szNum, "%d", iCell); + strReturn = szNum; - break; - default: - strReturn = ""; + break; + default: + strReturn = ""; } - StringCodeConverter::unicode2mbs( strCell, strReturn ); + StringCodeConverter::unicode2mbs(strCell, strReturn); return strReturn; } -void readTelsaleXlsxFile( const wstring & filePath, vector & listPolicy, bool hasTitle) +void readTelsaleXlsxFile(const wstring& filePath, vector& listPolicy, bool hasTitle) { - IBookT * pBook = NULL; - ISheetT * pSheet = NULL; + IBookT* pBook = NULL; + ISheetT* pSheet = NULL; int iRowCount = 0; int iRowIndex = 0; - + pBook = xlCreateXMLBookW(); - if ( pBook == NULL ) + if (pBook == NULL) { throw string(""); } - if ( pBook->load( filePath.data() ) == false ) + if (pBook->load(filePath.data()) == false) { - throw string("打开文件失败!" ); + throw string("打开文件失败!"); } - pSheet = pBook->getSheet( 0 ); + pSheet = pBook->getSheet(0); - if ( pSheet == NULL ) + if (pSheet == NULL) { - throw string( "读取sheet失败!" ); + throw string("读取sheet失败!"); } iRowCount = pSheet->lastRow(); - if ( hasTitle == true ) + if (hasTitle == true) { iRowIndex = 1; } //读取数据 - while ( iRowIndex < iRowCount ) + while (iRowIndex < iRowCount) { SPolicyRecord policy; - CellType type = pSheet->cellType( iRowIndex, 4 ); + CellType type = pSheet->cellType(iRowIndex, 4); - policy.strSignDate = readXlsxCell( pSheet, iRowIndex, 0 ); - policy.strPolicySerial = readXlsxCell( pSheet, iRowIndex, 1 ); - policy.strPlateSerial = readXlsxCell( pSheet, iRowIndex, 2 ); - policy.strCustomerName = readXlsxCell( pSheet, iRowIndex, 3 ); - policy.strSalerCode = readXlsxCell( pSheet, iRowIndex, 4 ); - policy.strAutoTraderName = readXlsxCell( pSheet, iRowIndex, 6 ); + policy.strSignDate = readXlsxCell(pSheet, iRowIndex, 0); + policy.strPolicySerial = readXlsxCell(pSheet, iRowIndex, 1); + policy.strPlateSerial = readXlsxCell(pSheet, iRowIndex, 2); + policy.strCustomerName = readXlsxCell(pSheet, iRowIndex, 3); + policy.strSalerCode = readXlsxCell(pSheet, iRowIndex, 4); + policy.strAutoTraderName = readXlsxCell(pSheet, iRowIndex, 6); //补齐工号 - if ( policy.strSalerCode.length() == 1 ) + if (policy.strSalerCode.length() == 1) { policy.strSalerCode = string("00") + policy.strSalerCode; } - if ( policy.strSalerCode.length() == 2 ) + if (policy.strSalerCode.length() == 2) { policy.strSalerCode = string("0") + policy.strSalerCode; } policy.strOperatorCode = getUserCode(); - queryStaffInfo( - policy.strSalerCode, - policy.strSalerName, - policy.strSalerDeptCode, - policy.strSalerDeptName, - policy.strSalerOfficeCode, - policy.strSalerOfficeName ); + queryStaffInfo( + policy.strSalerCode, + policy.strSalerName, + policy.strSalerDeptCode, + policy.strSalerDeptName, + policy.strSalerOfficeCode, + policy.strSalerOfficeName); - listPolicy.push_back( policy ); + listPolicy.push_back(policy); iRowIndex++; } pBook->release(); } - - diff --git a/代码/telsale_aux_kit/source/DataManipulation.h b/代码/telsale_aux_kit/source/DataManipulation.h index bbc6839..ff2353f 100644 --- a/代码/telsale_aux_kit/source/DataManipulation.h +++ b/代码/telsale_aux_kit/source/DataManipulation.h @@ -10,13 +10,14 @@ * TODO: long description * * \note -*/ +*/ #ifndef DataManipulation_h__ #define DataManipulation_h__ #include #include +#include #include #include #include "SystemData.h" @@ -24,6 +25,7 @@ using namespace std; using namespace libxl; +//准备废弃 typedef struct { string strPolicySerial; @@ -42,9 +44,32 @@ typedef struct string strEngineSerial; string strOperatorDate; string strOperatorCode; - bool bIsAutotraderCall; -} SPolicyRecord; + bool bIsAutotraderCall; +} SPolicyRecord; +class PolicyRecord +{ +private: + QString policySerial; + QString signDate; + QString salerCode; + QString salerName; + QString salerDeptCode; + QString salerDeptName; + QString salerOfficeCode; + QString salerOfficeName; + QString autoTraderCode; + QString autoTraderName; + QString customerName; + QString plateSerial; + QString frameSerial; + QString engineSerial; + QString operatorDate; + QString operatorCode; + bool isAutotraderCall; +}; + +//准备废弃 typedef struct { string strPolicySerial; @@ -57,31 +82,37 @@ typedef struct double dGiftPriceSum; string strGifts; string strInputDate; -} SPolicyQuery; +} SPolicyQuery; class TelSalePolicyGift { public: - TelSalePolicyGift() {}; - TelSalePolicyGift( int id, string & name, string & defaultPrice ) : m_id( id ), m_giftName( name ), m_giftDefaultPrice( defaultPrice ) {} + TelSalePolicyGift() + { + }; + + TelSalePolicyGift(int id, const string & name, const string & defaultPrice) : m_id(id), + m_giftName(name), + m_giftDefaultPrice(defaultPrice) + { + } inline int Id() const { return m_id; } - void Id(int val) { m_id = val; } + void Id(int val) { m_id = val; } string GiftName() const { return m_giftName; } - void GiftName(string val) { m_giftName = val; } + void GiftName(string val) { m_giftName = val; } string GiftDefaultPrice() const { return m_giftDefaultPrice; } - void GiftDefaultPrice(string val) { m_giftDefaultPrice = val; } + void GiftDefaultPrice(string val) { m_giftDefaultPrice = val; } private: - int m_id; + int m_id; string m_giftName; string m_giftDefaultPrice; }; - //************************************ // Method: queryTelsalePolicyGifts // FullName: queryTelsalePolicyGifts @@ -90,7 +121,7 @@ private: // Qualifier: 查询礼品信息 // Parameter: vector & giftList 礼品列表 //************************************ -void queryTelsalePolicyGifts( vector &giftList ); +void queryTelsalePolicyGifts(vector & giftList); //************************************ // Method: SaveTelSalePolicyInfo @@ -101,7 +132,7 @@ void queryTelsalePolicyGifts( vector &giftList ); // Parameter: const SPolicyRecord & policy // Parameter: const vector & giftList //************************************ -void SaveTelSalePolicyInfo( const SPolicyRecord & policy, const vector & giftList ); +void SaveTelSalePolicyInfo(const SPolicyRecord & policy, const vector & giftList); //************************************ // Method: QueryTelSalePolicyInfo @@ -115,11 +146,11 @@ void SaveTelSalePolicyInfo( const SPolicyRecord & policy, const vector & vPolicyInfo //************************************ -void QueryTelSalePolicyInfo( const string & strPolicyNo, - const string & strOperatorCode, - const string & strStartDate, - const string & strEndDate, - vector & vPolicyInfo ); +void QueryTelSalePolicyInfo(const string & strPolicyNo, + const string & strOperatorCode, + const string & strStartDate, + const string & strEndDate, + vector & vPolicyInfo); //************************************ // Method: QueryPolicyGifts @@ -130,15 +161,30 @@ void QueryTelSalePolicyInfo( const string & strPolicyNo, // Parameter: const string & strPolicyNo // Parameter: string & strGifts //************************************ -void QueryPolicyGifts( const string & strPolicyNo, - string & strGifts, - double dGiftPriceSum ); +void QueryPolicyGifts(const string & strPolicyNo, + string & strGifts, + double dGiftPriceSum); //void readTelsaleXlsFile( const string & strFilePath, vector & listPolicy, bool hasTitle, bool isXML ); -void readTelsaleXlsxFile( const wstring & filePath, vector & listPolicy, bool hasTitle ); +void readTelsaleXlsxFile(const wstring & filePath, vector & listPolicy, bool hasTitle); -string readXlsCell( ISheetT * pSheet, int iRowIndex, int iColIndex ); -string readXlsxCell( ISheetT * pSheet, int iRowIndex, int iColIndex); +/************************************************ +* \brief 读取xls文件的单元格内容,返回std::string +* \param pSheet xls文件的sheet对象指针 +* \param iRowIndex 行索引 +* \param iColIndex 列索引 +* \return 返回读取的单元格内容,以std::string为载体 +************************************************/ +string readXlsCell(ISheetT * pSheet, int iRowIndex, int iColIndex); -#endif // DataManipulation_h__ \ No newline at end of file +/************************************************ +* \brief 读取xlsx文件的单元格内容,返回std::string +* \param pSheet xlsx文件的sheet对象指针 +* \param iRowIndex 行索引 +* \param iColIndex 列索引 +* \return 返回读取的单元格内容,以std::string为载体 +************************************************/ +string readXlsxCell(ISheetT * pSheet, int iRowIndex, int iColIndex); + +#endif // DataManipulation_h__