首頁 >Java >Java基礎 >java如何導入excel文件

java如何導入excel文件

王林
王林原創
2019-11-16 13:13:156799瀏覽

java如何導入excel文件

Java使用POI匯入Excel文件,操作起來比較簡單,且支援xlsx格式。

下載POI資源包

從官網下載POI,本文選擇的是版本是3.17,下載後檔案名稱是poi-bin-3.17.zip。起初擔心版本太新,和現有項目不相容,後來程式跑起來沒發現什麼問題。

將poi-3.17下的jar套件和poi-3.17\lib\*.jar套件都複製到專案的WEB-INF\lib下,並在專案配置編譯路徑。

java如何導入excel文件

在Java檔案中加入以下引用,其中hssf用於xls格式,xssf用於xlsx格式

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

#讀取Excel檔案

HSSFWorkbook workbook = null;
try {
    // 读取Excel文件
    InputStream inputStream = new FileInputStream('c:\test.xlsx');
    workbook = new HSSFWorkbook(inputStream);
    inputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}

遍歷Excel Sheet表

// 遍历Excel Sheetfor (int numSheet = 0; numSheet < workbook.getNumberOfSheets(); numSheet++) {
    workbook.getSheetAt(numSheet);
}

遍歷行

HSSFSheet sheet = workbook.getSheetAt(0);
if (sheet != null) {
    // 循环行
    for     (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
        HSSFRow row = sheet.getRow(rowNum);
        if (row == null) {
            continue;// 忽略并继续读取
        }
        HSSFCell cell = row.getCell(0);
      if (cell == null) {
            continue;
        }
      //System.out.println(&#39;cell.getStringCellValue0():&#39; + cell.getStringCellValue());
        cell = row.getCell(1);
       if (cell == null) {
            continue;
       }
        //System.out.println(&#39;cell.getStringCellValue1():&#39; + cell.getStringCellValue());
   }
}

POI遇到問題Cannot get a text value from a numeric cell “Poi”

匯入Excel檔案時,如果某列是數值類型,直接透過cell.getStringCellValue()會報Cannot get a text value from a numeric cell “Poi”錯誤。

解決方法:

DataFormatter formatter = new DataFormatter();
String val = formatter.formatCellValue(sheet.getRow(col).getCell(row));

#推薦教學:Java教學

#

以上是java如何導入excel文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn