當前位置:
首頁 >
有关XLS文件的读取
發布時間:2023/12/16
61
豆豆
生活随笔
收集整理的這篇文章主要介紹了
有关XLS文件的读取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java程序有關XLS表格文件的讀取
IO流
. 在我看來,IO流核心便是讀文件和寫文件操作,有同學委托幫忙,今天嘗試寫了有關xls文件的讀取 代碼如下package com.dehong.test;import java.io.*;import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*;class XlsHelper {//得到導入數據至數據庫public void getDataFromExcel(String filePath,int index,int sheetHead) {if(!filePath.endsWith(".xls")) {System.out.println("格式不支持");}//定義FileInputStream fis=null;Workbook workbook=null;//初始化try {fis=new FileInputStream(filePath);workbook = new HSSFWorkbook(fis);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}//得到第幾張表Sheet sheet=workbook.getSheetAt(index);//得到表頭Row rowHead=sheet.getRow(sheetHead);//獲取表格長度int totalColNum=rowHead.getLastCellNum();int totalRowNum=sheet.getLastRowNum();//設置表頭數組String []heads=new String[totalColNum];//設置數據數組String []parameters=new String[totalColNum];//得到表頭列表for(int i=0;i<totalColNum-1;i++) {//cell.setCellType(CellType.STRING);Cell cell=rowHead.getCell((short)i);cell.setCellType(CellType.STRING);heads[i]=cell.getStringCellValue().trim();}//獲得所有數據for(int i = sheetHead+1 ; i <= totalRowNum ; i++){//獲得第i行對象Row row = sheet.getRow(i);//遍歷這一行所有數據for(int j=0;j<totalColNum;j++) {Cell cell=row.getCell(j);cell.setCellType(CellType.STRING);parameters [j]=cell.getStringCellValue().trim();System.out.println(parameters [j]);}}} }
說說寫的過程遇到的問題:列的個數獲取總是出錯,現在的代碼依然有點小問題,getLastColNum();方法getPhysicalNumberOfCells();方法都不是很好用,我也沒找到更好的方法,只能湊合用了,由于項目需要導入數據到數據庫中,目前只能做到取出數據,明天繼續更新,嘗試解決xls表和數據庫不匹配的問題。
同時我還寫了一個不錯的SqlHelper類,分享并記錄下來,便于以后觀看
總結
以上是生活随笔為你收集整理的有关XLS文件的读取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修复IOS上滑动HTML界面光标乱跳
- 下一篇: 小东西——大智慧