/*
package com.xhpc.test.excel;

import com.xhpc.common.domain.XhpcChargingPile;
import org.apache.poi.ss.usermodel.*;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

*/
/**
 * 读取Excel表格工具类
 *//*

public class ReadExcelUtil {

    private void parseExcel(){}
    private void dataToDatabase(){}
    private void writeToExcel(){}

    public static void main(String[] args) throws IOException {

        //1.存储要读取的Excel的文件路径
        String pileExcelPath = "D:\\Enterprise_Resources\\XiaoHuaMaterialImgs\\pile.xlsx";

        //2.加载Excel进内存
        File pileExcel = new File(pileExcelPath);

        //3.创建Workbook对象,将其转换成可操作的Excel
        Workbook workBook = WorkbookFactory.create(pileExcel);

        //4.获取Excel表中的sheet1表
        Sheet sheet1 = workBook.getSheet("Sheet1");

        //5.获取sheet1表的名称
        String sheetName = sheet1.getSheetName();

        System.out.println("工作表名称："+sheetName);

        //6.获取工作表的总行数
        int totalRows = sheet1.getPhysicalNumberOfRows();
        System.out.println("当前工作表总行数："+totalRows);

        //7.获取工作表中的总列数
        //7.1获取第一行的记录，行索引从0开始的
        Row twoRow = sheet1.getRow(2);
        int totalColumns = twoRow.getPhysicalNumberOfCells();
        System.out.println("当前sheet表中的总列数："+totalColumns);

        //8.获取第二行的记录中的第一个单元格，单元格索引从0开始
        Cell cell = twoRow.getCell(0);
        String pileName = cell.getStringCellValue();
        System.out.println("电桩名称为："+pileName);

        //9.获取第二行的记录中的第二个单元格
        Cell cell2 = twoRow.getCell(1);
        String brandModel = cell2.getStringCellValue();
        System.out.println("品牌型号为："+brandModel);

        //10.获取第二行的记录中的第三个单元格
        Cell cell3 = twoRow.getCell(2);
        String pileNational = cell3.getStringCellValue();
        System.out.println("电桩国际："+pileNational);

        //11.获取第二行的记录中的第四个单元格
        Cell cell4 = twoRow.getCell(3);
        String pilePower = cell4.getStringCellValue();
        System.out.println("电桩功率："+pilePower);

        //12.获取第二行的记录中的第五个单元格
        Cell cell5 = twoRow.getCell(4);
        int powerSupport = (int) cell5.getNumericCellValue();
        System.out.println("辅助电源支持："+powerSupport);

        //13.获取第二行的记录中的第六个单元格
        Cell cell6 = twoRow.getCell(5);
        int inputVoltage = (int) cell6.getNumericCellValue();
        System.out.println("输入电压："+inputVoltage);

        //14.获取第二行的记录中的第六个单元格
        Cell cell7 = twoRow.getCell(6);
        int maxVoltage = (int) cell7.getNumericCellValue();
        System.out.println("最大电压："+maxVoltage);

        //15.获取第二行的记录中的第七个单元格
        Cell cell8 = twoRow.getCell(7);
        int minVoltage = (int) cell8.getNumericCellValue();
        System.out.println("最小电压："+minVoltage);

        //16.获取第二行的记录中的第八个单元格
        Cell cell9 = twoRow.getCell(8);
        int maxCurrent = (int) cell9.getNumericCellValue();
        System.out.println("最大电流："+maxCurrent);

        //17.获取第二行的记录中的第九个单元格
        Cell cell10 = twoRow.getCell(9);
        int minCurrent = (int) cell10.getNumericCellValue();
        System.out.println("最小电流："+minCurrent);

        //18.获取第二行的记录中的第十个单元格
        Cell cell11 = twoRow.getCell(10);
        String pileNumber = cell11.getStringCellValue();
        System.out.println("桩编码："+pileNumber);

        //19.获取第二行的记录中的第十一个单元格
        Cell cell12 = twoRow.getCell(11);
        String StationName = cell12.getStringCellValue();
        System.out.println("场站名称："+StationName);

        //20.获取第二行的记录中的第十二个单元格
        Cell cell13 = twoRow.getCell(12);
        String terminalCount = cell13.getStringCellValue();
        System.out.println("终端数量："+terminalCount);

        //21.获取第二行的记录中的第十三个单元格
        Cell cell14 = twoRow.getCell(13);
        String pileType = cell14.getStringCellValue();
        System.out.println("电桩类型："+pileType);

        System.out.println("==================分割线====================");

        for (int i = 0;i<twoRow.getPhysicalNumberOfCells();i++){
            //获取该行中的每一个单元格对象
            Cell cellf = twoRow.getCell(i);

            //获取单元格对象类型
            CellType cellType = cellf.getCellType();
            String type = cellType.name();

            //判断单元格对象类型
            //如果单元格中的类型不是字符串的话，那么则调用获取数值类型的方法
            if (!type.equals("STRING")){
                //获取该单元格中的值
                int cellValue = (int) cellf.getNumericCellValue();
                System.out.println(cellValue);
            }else {
                //获取该单元格中的值
                String cellValue = cellf.getStringCellValue();
                System.out.println(cellValue);
            }
        }


        System.out.println("================分割线2====================");
        new ReadExcelUtil().getOneRowWithHeader(sheet1.getRow(0),sheet1.getRow(1));
        workBook.close();
    }


    */
/**
     * 获取一行记录的数据（带标题）
     * @param headerRow 标题行
     * @param row 获取第几行
     *//*

    public void getOneRowWithHeader(Row headerRow,Row row){

        XhpcChargingPile xhpcChargingPile = new XhpcChargingPile();

        HashMap<String, Object> storeMap = new HashMap<>();

        for (int i = 0;i<headerRow.getPhysicalNumberOfCells();i++){
            //获取标题行中的每一个单元格对象
            Cell headerCell = headerRow.getCell(i);

            //获取单元格对象类型
            CellType cellType = headerCell.getCellType();
            String type = cellType.name();

            //获取标题行单元格中的值
            String headerCellValue = headerCell.getStringCellValue();

            //获取与标题行对应的普通单元格内容
            Cell plainCell = row.getCell(i);

            //判断单元格对象类型
            //如果单元格中的类型不是字符串的话，那么则调用获取数值类型的方法
            CellType cellType1 = plainCell.getCellType();
            String type1 = cellType1.name();

            if (!type1.equals("STRING")){
                //获取该单元格中的值
                int cellValue = (int) plainCell.getNumericCellValue();
                System.out.println(headerCellValue+":"+cellValue);

                //判断headerCellValue当中的值，放入到pojo中
                switch (headerCellValue){
                    case "桩编码":
                        storeMap.put("pileSerialNumber",cellValue);
                        break;
                    case "电站":
                        storeMap.put("StationName",cellValue);
                        break;
                    case "终端数量":
                        storeMap.put("terminalCount",cellValue);
                        break;
                    case "电桩类型":
                        storeMap.put("pileType",cellValue);
                        break;
                    case "程序版本":
                        storeMap.put("programVersion",cellValue);
                        break;
                    case "网络连接类型":
                        storeMap.put("networkLinkType",cellValue);
                        break;
                    case "通讯协议版本":
                        storeMap.put("communicationProtocolVersion",cellValue);
                        break;
                    case "通讯运营商":
                        storeMap.put("communicationOperator",cellValue);
                        break;
                    case "SIMK":
                        storeMap.put("terminalCount",cellValue);
                        break;
                    case "终端数量":
                        storeMap.put("terminalCount",cellValue);
                        break;
                    case "终端数量":
                        storeMap.put("terminalCount",cellValue);
                        break;
                    case "终端数量":
                        storeMap.put("terminalCount",cellValue);
                        break;case "终端数量":
                        storeMap.put("terminalCount",cellValue);
                        break;



                }
            }else {
                //获取该单元格中的值
                String cellValue = plainCell.getStringCellValue();
                System.out.println(headerCellValue + ":" + cellValue);
                switch (headerCellValue){
                    case "电桩名称":
                        xhpcChargingPile.setName(cellValue);
                        break;
                    case "品牌型号":
                        xhpcChargingPile.setBrandModel(cellValue);
                        break;
                    case "电桩国际":
                        xhpcChargingPile.setNationalStandard(cellValue);
                        break;
                    case "电桩功率(KW)":
                        xhpcChargingPile.setPower(Double.parseDouble(cellValue));
                        break;
                    case "辅助电源支持(V)":
                        xhpcChargingPile.put("powerSupport",cellValue);
                        break;
                    case "输入电压(V)":
                        xhpcChargingPile.put("inputVoltage",cellValue);
                        break;
                    case "最大电压(V)":
                        xhpcChargingPile.put("maxVoltage",cellValue);
                        break;
                    case "最小电压(V)":
                        xhpcChargingPile.put("minVoltage",cellValue);
                        break;
                    case "最大电流(A)":
                        xhpcChargingPile.put("maxCurrent",cellValue);
                        break;
                    case "最小电流(A)":
                        xhpcChargingPile.put("minCurrent",cellValue);
                        break;
                }

            }


//        for (int i = 0;i<row.getPhysicalNumberOfCells();i++){
//            //获取该行中的每一个单元格对象
//            Cell plainCell = row.getCell(i);
//
//            //获取单元格对象类型
//            CellType cellType = plainCell.getCellType();
//            String plainCell = cellType.name();
//
//            //判断单元格对象类型
//            //如果单元格中的类型不是字符串的话，那么则调用获取数值类型的方法
//            if (!type.equals("STRING")){
//                //获取该单元格中的值
//                int cellValue = (int) plainCell.getNumericCellValue();
//                System.out.println(cellValue);
//            }else {
//                //获取该单元格中的值
//                String cellValue = plainCell.getStringCellValue();
//                System.out.println(cellValue);
//            }
        }
    }
}
*/
