日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java excel解析视频教程_java解析Excel(xls、xlsx两种格式)

發布時間:2023/12/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java excel解析视频教程_java解析Excel(xls、xlsx两种格式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、需要導入的jar

1.commons-collections4-4.1.jar

2.poi-3.17-beta1.jar

3.poi-ooxml-3.17-beta1.jar

4.poi-ooxml-schemas-3.17-beta1.jar

5.xmlbeans-2.6.0.jar

二、主要API,了解springcloud架構可以加求求:三五三六二四七二五九

1.import org.apache.poi.ss.usermodel.Workbook,對應Excel文檔;

2.import org.apache.poi.hssf.usermodel.HSSFWorkbook,對應xls格式的Excel文檔;

3.import org.apache.poi.xssf.usermodel.XSSFWorkbook,對應xlsx格式的Excel文檔;

4.import org.apache.poi.ss.usermodel.Sheet,對應Excel文檔中的一個sheet;

5.import org.apache.poi.ss.usermodel.Row,對應一個sheet中的一行;

6.import org.apache.poi.ss.usermodel.Cell,對應一個單元格。

三、代碼如下package?poi;

import?java.io.FileInputStream;

import?java.io.FileNotFoundException;

import?java.io.IOException;

import?java.io.InputStream;

import?java.util.ArrayList;

import?java.util.LinkedHashMap;

import?java.util.List;

import?java.util.Map;

import?java.util.Map.Entry;

import?org.apache.poi.hssf.usermodel.HSSFWorkbook;

import?org.apache.poi.ss.usermodel.Cell;

import?org.apache.poi.ss.usermodel.DateUtil;

import?org.apache.poi.ss.usermodel.Row;

import?org.apache.poi.ss.usermodel.Sheet;

import?org.apache.poi.ss.usermodel.Workbook;

import?org.apache.poi.xssf.usermodel.XSSFWorkbook;

public?class?Testpoi?{

public?static?void?main(String[]?args)?{

Workbook?wb?=null;

Sheet?sheet?=?null;

Row?row?=?null;

List>?list?=?null;

String?cellData?=?null;

String?filePath?=?"D:\\test.xlsx";

String?columns[]?=?{"name","age","score"};

wb?=?readExcel(filePath);

if(wb?!=?null){

//用來存放表中數據

list?=?new?ArrayList>();

//獲取第一個sheet

sheet?=?wb.getSheetAt(0);

//獲取最大行數

int?rownum?=?sheet.getPhysicalNumberOfRows();

//獲取第一行

row?=?sheet.getRow(0);

//獲取最大列數

int?colnum?=?row.getPhysicalNumberOfCells();

for?(int?i?=?1;?i

Map?map?=?new?LinkedHashMap();

row?=?sheet.getRow(i);

if(row?!=null){

for?(int?j=0;j

cellData?=?(String)?getCellFormatValue(row.getCell(j));

map.put(columns[j],?cellData);

}

}else{

break;

}

list.add(map);

}

}

//遍歷解析出來的list

for?(Map?map?:?list)?{

for?(Entry?entry?:?map.entrySet())?{

System.out.print(entry.getKey()+":"+entry.getValue()+",");

}

System.out.println();

}

}

//讀取excel

public?static?Workbook?readExcel(String?filePath){

Workbook?wb?=?null;

if(filePath==null){

return?null;

}

String?extString?=?filePath.substring(filePath.lastIndexOf("."));

InputStream?is?=?null;

try?{

is?=?new?FileInputStream(filePath);

if(".xls".equals(extString)){

return?wb?=?new?HSSFWorkbook(is);

}else?if(".xlsx".equals(extString)){

return?wb?=?new?XSSFWorkbook(is);

}else{

return?wb?=?null;

}

}?catch?(FileNotFoundException?e)?{

e.printStackTrace();

}?catch?(IOException?e)?{

e.printStackTrace();

}

return?wb;

}

public?static?Object?getCellFormatValue(Cell?cell){

Object?cellValue?=?null;

if(cell!=null){

//判斷cell類型

switch(cell.getCellType()){

case?Cell.CELL_TYPE_NUMERIC:{

cellValue?=?String.valueOf(cell.getNumericCellValue());

break;

}

case?Cell.CELL_TYPE_FORMULA:{

//判斷cell是否為日期格式

if(DateUtil.isCellDateFormatted(cell)){

//轉換為日期格式YYYY-mm-dd

cellValue?=?cell.getDateCellValue();

}else{

//數字

cellValue?=?String.valueOf(cell.getNumericCellValue());

}

break;

}

case?Cell.CELL_TYPE_STRING:{

cellValue?=?cell.getRichStringCellValue().getString();

break;

}

default:

cellValue?=?"";

}

}else{

cellValue?=?"";

}

return?cellValue;

}

}

四、運行結果

代碼運行前保證在D盤下有一個test.xlsx文檔,不然報文件找不到異常;Excel文檔中的表頭要和代碼中的String columns[] = {"name","age","score"}對應起來。

總結

以上是生活随笔為你收集整理的java excel解析视频教程_java解析Excel(xls、xlsx两种格式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。