本文目錄一覽:
- 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/zh-tw/n/300503.html