资源简介
通过这个工具类可以轻松实现Excel表格的读取解析,使Excel中的数据以json字符串的形式返回
代码片段和文件信息
package com.bjut.ssh.utils;
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.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 org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class ImportExcelReadUtil {
public int totalRows; //sheet中总行数
public static int totalCells; //每一行总单元格数
public List> readExcel(MultipartFile file) throws IOException {
if(file==null||ImportExcelUtil.EMPTY.equals(file.getOriginalFilename().trim())){
return null;
}else{
String postfix = ImportExcelUtil.getPostfix(file.getOriginalFilename());
if(!ImportExcelUtil.EMPTY.equals(postfix)){
if(ImportExcelUtil.OFFICE_EXCEL_2003_POSTFIX.equals(postfix)){
return readXlsx(file);
}else if(ImportExcelUtil.OFFICE_EXCEL_2010_POSTFIX.equals(postfix)){
return readXlsx(file);
}else{
return null;
}
}
}
return null;
}
@SuppressWarnings(“deprecation“)
public List> readXlsx(MultipartFile file){
List> list = new ArrayList>();
// IO流读取文件
InputStream input = null;
XSSFWorkbook wb = null;
ArrayList rowList = null;
try {
input = file.getInputStream();
// 创建文档
wb = new XSSFWorkbook(input);
//读取sheet(页)
for(int numSheet=0;numSheet XSSFSheet xssfSheet = wb.getSheetAt(numSheet);
if(xssfSheet == null){
continue;
}
totalRows = xssfSheet.getLastRowNum();
//读取Row从第3行开始
for(int rowNum = 2;rowNum <= totalRows;rowNum++){
XSSFRow xssfRow = xssfSheet.getRow(rowNum);
if(xssfRow!=null){
rowList = new ArrayList();
totalCells = xssfRow.getLastCellNum();
//读取列,从第一列开始
for(int c=0;c<=totalCells+1;c++){
XSSFCell cell = xssfRow.getCell(c);
if(cell==null){
rowList.add(ImportExcelUtil.EMPTY);
continue;
}
rowList.add(ImportExcelUtil.getXValue(cell).trim());
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5569 2018-11-13 16:55 ImportExcelReadUtil.java
文件 3369 2018-11-13 16:25 ImportExcelUtil.java
文件 306 2018-11-13 16:32 XSSFDateUtil.java
- 上一篇:treeselect.tag超全源码
- 下一篇:北邮 模电实验 电压比较器仿真报告
评论
共有 条评论