代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
读取Excel并转化为List
作者:
雅玉
/ 发布于
2018/3/22
/
701
读取Excel并转化为List
import java.io.InputStream; import java.util.*; 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 ExcelUtils { //读取两种格式的Excel内容 /** * @description: 读取两种格式的Excel * @param stream 输入流 * @param extString excel后缀 * @param columns 列名称 * @author: baipengfei * @since: 2018年3月21日 下午12:01:44 */ public static List<Map<String, String>> readExcelByStream(InputStream stream, String extString, String[] columns) throws Exception { Workbook wb = getExcelWb(stream, extString); List<Map<String, String>> list = null; String cellData = null; if(wb != null){ //用来存放表中数据 list = new ArrayList<Map<String,String>>(); //获取第一个sheet Sheet sheet = wb.getSheetAt(0); //获取最大行数 int rownum = sheet.getPhysicalNumberOfRows(); //获取第一行 Row row = sheet.getRow(0); //获取最大列数 int column = row.getPhysicalNumberOfCells(); for(int i = 1; i < rownum; i++){ Map<String, String> map = new LinkedHashMap<String, String>(); row = sheet.getRow(i); if(row != null){ for(int j = 0; j < column; j++){ cellData = String.valueOf(getCellFormatValue(row.getCell(j))); map.put(columns[j], cellData); } }else { break; } list.add(map); } } return list; } //获取Workbook对象 public static Workbook getExcelWb(InputStream stream, String extString) throws Exception { Workbook wb = null; if(stream == null){ return null; } if(".xls".equals(extString)){ return wb = new HSSFWorkbook(stream); }else if(".xlsx".equals(extString)){ return wb = new XSSFWorkbook(stream); }else{ return wb = null; } } //获取单元格值 public static Object getCellFormatValue(Cell cell) { Object cellValue = null; if(cell != null){ switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC:{ cellValue = String.valueOf(cell.getNumericCellValue()); break; } case Cell.CELL_TYPE_FORMULA:{ if(DateUtil.isCellDateFormatted(cell)){ cellValue = cell.getDateCellValue(); }else { cellValue = String.valueOf(cell.getNumericCellValue()); } break; } case Cell.CELL_TYPE_STRING:{ cellValue = cell.getRichStringCellValue(); break; } default: cellValue = ""; } }else { cellValue = ""; } return cellValue; } } //需引入poi-version.jar和poi-ooxml-version.jar
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
雅玉
贡献的其它代码
(
8
)
.
POM.XML文件常用标签
.
读取Excel并转化为List
.
属性配置文件工具类
.
汉字转化为拼音类
.
FormBuilder 设置金额显示格式
.
欧拉回路(邻接阵形式)
.
获取每个文件的名称和大小.py
.
素数随机判定(miller_rabin)
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3