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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

apache poi 解析excel

發布時間:2024/4/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache poi 解析excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

maven 依賴

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.0.0</version> </dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.15</version> </dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.15</version> </dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.15</version> </dependency><dependency><groupId>org.apache.xmlbeans</groupId><artifactId>xmlbeans</artifactId><version>2.6.0</version> </dependency><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</artifactId><version>2.0.0</version> </dependency>


package?excel;import?org.apache.poi.ss.usermodel.CellType; 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;import?java.io.InputStream; import?java.text.SimpleDateFormat; import?java.util.ArrayList; import?java.util.HashMap; import?java.util.List; import?java.util.Map;/***?Created?by?xiaominzh?on?2016/11/14.*/ public?class?ExcelExportNew?{private?static?String?getCellValue(XSSFCell?cell,String?columnType)throws?Exception{if("i".equals(columnType)){return?String.valueOf(cell.getNumericCellValue());}if("d".equals(columnType)){SimpleDateFormat?sdf?=?new?SimpleDateFormat("yyyy-MM-dd");return?sdf.format(cell.getDateCellValue());}cell.setCellType(CellType.STRING);return?cell.getRichStringCellValue().toString();}private?static?List<String>?loadColumnNames(XSSFRow?row){List<String>?array?=?new?ArrayList<String>();int?maxCellNum?=?row.getLastCellNum();for(int?i=0;i<maxCellNum;i++){XSSFCell?cell?=?row.getCell(i);String?name?=?cell.getStringCellValue();array.add(name);}return?array;}private?static?List<String>?loadColumnTypes(XSSFRow?row){List<String>?array?=?new?ArrayList<String>();int?maxCellNum?=?row.getLastCellNum();for(int?i=0;i<maxCellNum;i++){XSSFCell?cell?=?row.getCell(i);String?name?=?cell.getStringCellValue();array.add(name);}return?array;}private?static?void?convertExcelToJSON(String?fileName,String?sheetName)throws?Exception?{InputStream?is?=?ExcelExportNew.class.getResourceAsStream(fileName);XSSFWorkbook?hssfWorkbook?=?new?XSSFWorkbook(is);XSSFSheet?sheet?=?hssfWorkbook.getSheet(sheetName);int?rows?=?sheet.getLastRowNum();List<Map<String,?Object>>?result?=?new?ArrayList<Map<String,?Object>>();List<String>?columnTypes?=?loadColumnTypes(sheet.getRow(0));List<String>?columnNames?=?loadColumnNames(sheet.getRow(1));for?(int?i?=?3;?i?<=?rows;?i++)?{XSSFRow?row?=?sheet.getRow(i);int?maxCellNum?=?row.getLastCellNum();Map<String,?Object>?item?=?new?HashMap<String,?Object>();for?(int?cellIndex?=?0;?cellIndex?<?maxCellNum;?cellIndex++)?{XSSFCell?cell?=?row.getCell(cellIndex);String?columnName?=?columnNames.get(cellIndex);String?columnType?=?columnTypes.get(cellIndex);String?value?=?null;try?{ //????????????????????cell.setCellType(CellType.STRING);value?=?getCellValue(cell,columnType);}?catch?(Exception?e)?{System.err.println("row:"+i+",column:"+cellIndex);System.err.println(e.getMessage());break;}item.put(columnName,?value);}result.add(item);}System.out.println(JSONUtil.getJSONString(result));}public?static?void?main(String[]?args)?throws?Exception?{convertExcelToJSON("shop_sale_type_list.xlsx","shop_sale_type_list");} }

測試excel文件

輸出

轉載于:https://blog.51cto.com/antlove/1874907

總結

以上是生活随笔為你收集整理的apache poi 解析excel的全部內容,希望文章能夠幫你解決所遇到的問題。

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