本文目录一览:
- 1、在java中如何读取Excel中第二个sheet表对象中数据
- 2、java poi怎么获取Excel sheet页的数量?
- 3、java循环读取excel每个sheet,读第一个sheet数据条数从1开始计数,下一个sheet仍旧从1开始计数该如何处理?
在java中如何读取Excel中第二个sheet表对象中数据
/**
*
* p标题:readExcel/p
* p描述:读取Excel文件数据/p
* @param excelfilePath Excel文件路径
* @param startRow 开始行
* @param startCol 开始列
* @return ListArrayListString
* @throws IOException
* @throws BiffException
*/
public ListMapString, 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);
ListMapString, Object alldata = new ArrayListMapString, Object();
MapString, Object data = null;
alldata.clear();
// 获得当前Excel表共有几个sheet
Sheet[] sheets = rwb.getSheets();
// 获得表数
int pages = sheets.length;
// 将excel表中的数据读取出来
// 在从Excel中读取数据的时候不需要知道每个sheet有几行,有那多少列
for (int i = 0; i pages; i++) {
//这里读取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 = startRow; r rows; r++) {
data = new HashMapString, Object();
// 行循环,Excel的行列是从(0,0)开始
for (int c = startCol; c cols; c++) {
Cell excelRows = sheet.getCell(c, r);
data.put(“bgbh”, excelRows.getContents());
}
alldata.add(data);
}
}
ins.close();
return alldata;
}
java poi怎么获取Excel sheet页的数量?
java poi获取Excel sheet页的数量方法如下:
在导出excel时候需要导出多个sheet页,后面sheet页会覆盖前面sheet页的内容。
这么写代码:
HSSFWorkbook workbook = null;
workbook=new HSSFWorkbook();
for(){
//没有现成的文件需要重新计算
HSSFSheet sheet_sin =workbook.createSheet(month_query1);
sheet_sin= makeJDL(year_query,month_query1,sheet_sin,workbook);
}
java循环读取excel每个sheet,读第一个sheet数据条数从1开始计数,下一个sheet仍旧从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 ++ ; 按单元格的话
}
}
}
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/300503.html