最后一个表!
This commit is contained in:
		@@ -20,6 +20,7 @@
 | 
				
			|||||||
    <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.cpp" />
 | 
					    <ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.cpp" />
 | 
				
			||||||
@@ -48,6 +49,7 @@
 | 
				
			|||||||
    <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h" />
 | 
					    <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h" />
 | 
				
			||||||
    <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.h" />
 | 
					    <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.h" />
 | 
				
			||||||
    <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.h" />
 | 
					    <ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.h" />
 | 
				
			||||||
 | 
					    <ClInclude Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.h" />
 | 
				
			||||||
    <ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h" />
 | 
					    <ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h" />
 | 
				
			||||||
    <ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.h" />
 | 
					    <ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.h" />
 | 
				
			||||||
    <ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.h" />
 | 
					    <ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.h" />
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -83,6 +83,9 @@
 | 
				
			|||||||
    <Filter Include="数据\全局对象">
 | 
					    <Filter Include="数据\全局对象">
 | 
				
			||||||
      <UniqueIdentifier>{7f951e1f-a198-4833-bbec-853de77c8cfe}</UniqueIdentifier>
 | 
					      <UniqueIdentifier>{7f951e1f-a198-4833-bbec-853de77c8cfe}</UniqueIdentifier>
 | 
				
			||||||
    </Filter>
 | 
					    </Filter>
 | 
				
			||||||
 | 
					    <Filter Include="数据\数据管理\导入导出\直接导入导出">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{ef490558-0c27-4a12-a626-583699d6a35f}</UniqueIdentifier>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ClCompile Include="..\..\..\source\main.cpp">
 | 
					    <ClCompile Include="..\..\..\source\main.cpp">
 | 
				
			||||||
@@ -133,6 +136,9 @@
 | 
				
			|||||||
    <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp">
 | 
					    <ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp">
 | 
				
			||||||
      <Filter>数据\全局对象</Filter>
 | 
					      <Filter>数据\全局对象</Filter>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <ClCompile Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.cpp">
 | 
				
			||||||
 | 
					      <Filter>数据\数据管理\导入导出\直接导入导出</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <QtRcc Include="..\..\..\source\resource.qrc">
 | 
					    <QtRcc Include="..\..\..\source\resource.qrc">
 | 
				
			||||||
@@ -205,5 +211,8 @@
 | 
				
			|||||||
    <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h">
 | 
					    <ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h">
 | 
				
			||||||
      <Filter>数据\全局对象</Filter>
 | 
					      <Filter>数据\全局对象</Filter>
 | 
				
			||||||
    </ClInclude>
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					    <ClInclude Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.h">
 | 
				
			||||||
 | 
					      <Filter>数据\数据管理\导入导出\直接导入导出</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
@@ -0,0 +1,80 @@
 | 
				
			|||||||
 | 
					#include <map>
 | 
				
			||||||
 | 
					#include <stdexcept>
 | 
				
			||||||
 | 
					#include <exception>
 | 
				
			||||||
 | 
					#include <ocilib.hpp>
 | 
				
			||||||
 | 
					#include <libxl.h>
 | 
				
			||||||
 | 
					#include "FromExcelToOracle.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "../../excel/excel.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;;
 | 
				
			||||||
 | 
					using namespace ocilib;
 | 
				
			||||||
 | 
					using namespace libxl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void RepairMonitoringFromExcelToOracle( const std::wstring & filePath,
 | 
				
			||||||
 | 
					                                        unsigned int         sheetIndex,
 | 
				
			||||||
 | 
					                                        unsigned int         titleRowIndex,
 | 
				
			||||||
 | 
					                                        unsigned int         firstRowIndex,
 | 
				
			||||||
 | 
					                                        const std::string &  tnsName,
 | 
				
			||||||
 | 
					                                        const std::string &  userName,
 | 
				
			||||||
 | 
					                                        const std::string &  password )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						//防御性验证
 | 
				
			||||||
 | 
						if ( filePath.empty() == true ||
 | 
				
			||||||
 | 
						     tnsName.empty() == true ||
 | 
				
			||||||
 | 
						     userName.empty() == true ||
 | 
				
			||||||
 | 
						     password.empty() == true )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							throw runtime_error( "参数错误!" );
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//libxl对象
 | 
				
			||||||
 | 
						Book *            pBook  = xlCreateBookW();
 | 
				
			||||||
 | 
						Sheet *           pSheet = nullptr;
 | 
				
			||||||
 | 
						map<int, wstring> titleMap;         //存放标题行
 | 
				
			||||||
 | 
						unsigned int      firstColumnIndex; //第一列
 | 
				
			||||||
 | 
						unsigned int      lastColumnIndex;  //最后一列
 | 
				
			||||||
 | 
						unsigned int      firstRowIndex;
 | 
				
			||||||
 | 
						unsigned int      lastRowIndex;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//ocilib对象
 | 
				
			||||||
 | 
						Connection * pConnection = nullptr;
 | 
				
			||||||
 | 
						Statement *  pStatement  = nullptr;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ( pBook == nullptr )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							throw runtime_error( "libxl初始化失败!" );
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ( pBook->load( filePath.c_str() ) != true )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							throw runtime_error( "打开excel文件失败!" );
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						pSheet = pBook->getSheet( sheetIndex );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ( pSheet == nullptr )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							throw runtime_error( "读取sheet失败失败!" );
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						firstColumnIndex = pSheet->firstCol();
 | 
				
			||||||
 | 
						lastColumnIndex  = pSheet->lastCol();
 | 
				
			||||||
 | 
						firstRowIndex    = pSheet->firstRow();
 | 
				
			||||||
 | 
						lastRowIndex     = pSheet->lastRow();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						unsigned int index = firstColumnIndex;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//保存标题
 | 
				
			||||||
 | 
						while ( index <= lastColumnIndex )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							wstring && title = ReadCellStringFromXlsx( pBook, sheetIndex, titleRowIndex, index, false );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							titleMap.insert( pair<int, wstring>( index, title ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							++index;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						//逐行保存数据
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void RepairMonitoringFromExcelToOracle( const std::wstring & filePath,
 | 
				
			||||||
 | 
					                                        unsigned int         sheetIndex,
 | 
				
			||||||
 | 
					                                        unsigned int         titleRowIndex,
 | 
				
			||||||
 | 
					                                        unsigned int         firstRowIndex,
 | 
				
			||||||
 | 
					                                        const std::string &  tnsName,
 | 
				
			||||||
 | 
					                                        const std::string &  userName,
 | 
				
			||||||
 | 
					                                        const std::string &  password );
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								数据/新送返修监控报表 - 字段.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								数据/新送返修监控报表 - 字段.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								数据/新送返修监控报表.xlsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								数据/新送返修监控报表.xlsx
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user