• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: ExcelUpload  

资源简介

通过这个工具类可以轻松实现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

评论

共有 条评论

相关资源