java循环读取excel每个sheet,读第一个sheet数据条数从1开始计数,下一个sheet仍旧从1开始计数该如何处理?

Python09

java循环读取excel每个sheet,读第一个sheet数据条数从1开始计数,下一个sheet仍旧从1开始计数该如何处理?,第1张

.计数器定义在 循环读取sheet的 循环里面不就好了么....

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

    FileInputStream fileInputStream = new FileInputStream("path")

    Workbook workbook = new HSSFWorkbook(fileInputStream) //读取excel

    for (int i = 0 i < workbook.getNumberOfSheets() i++) {

        Sheet sheet = workbook.getSheetAt(i)//获取sheet

        int count = 0 //总条数  第二个sheet自动归0

        for (int j = 0 j < sheet.getPhysicalNumberOfRows() j++) {

            Row row = sheet.getRow(j) // 获取行

            // count++ //按行的话

            for (int k = 0 k < row.getPhysicalNumberOfCells() k++) {

                Cell cell = row.getCell(k) //获取单元格

                // count ++  按单元格的话

            }

        }

    }

}

/**

*

* <p>标题:readExcel</p>

* <p>描述:读取Excel文件数据</p>

* @param excelfilePath Excel文件路径

* @param startRow 开始行

* @param startCol 开始列

* @return List<ArrayList<String>>

* @throws IOException

* @throws BiffException

*/

public List<Map<String, Object>>readExcel(String excelfilePath,int startRow, int startCol)

throws IOException, BiffException {

// 读取xls文件

InputStream ins = new FileInputStream(excelfilePath)

// 设置读文件编码

WorkbookSettings setEncode = new WorkbookSettings()

setEncode.setEncoding("UTF-8")

Workbook rwb = Workbook.getWorkbook(ins, setEncode)

List<Map<String, Object>>alldata = new ArrayList<Map<String, Object>>()

Map<String, Object>data = null

alldata.clear()

// 获得当前Excel表共有几个sheet

Sheet[] sheets = rwb.getSheets()

// 获得表数

int pages = sheets.length

// 将excel表中的数据读取出来

// 在从Excel中读取数据的时候不需要知道每个sheet有几行,有那多少列

for (int i = 0i <pagesi++) {

//这里读取excel中每个sheet的数据,Sheet sheet = rwb.getSheet(i)读取第二个sheet就是getSheet(1)

Sheet sheet = rwb.getSheet(i)

int cols = sheet.getColumns()// 列

// 读取每一行对应的列数目

// 循环读取每一行的全部列数目的内容

int rows = sheet.getRows()// 行

for (int r = startRowr <rowsr++) {

data = new HashMap<String, Object>()

// 行循环,Excel的行列是从(0,0)开始

for (int c = startColc <colsc++) {

Cell excelRows = sheet.getCell(c, r)

data.put("bgbh", excelRows.getContents())

}

alldata.add(data)

}

}

ins.close()

return alldata

}

设置sheet名称和单元格内容为中文

wb.setSheetName(n, "中文",HSSFCell.ENCODING_UTF_16)

cell.setEncoding((short) 1)

cell.setCellValue("中文")