【转】上传并解析excel
【转载自】http://blog.csdn.net/u011563331/article/details/51322523
通过解析excel,将数据存储到数据库中。现在将方法保存下来。
使用的是apache的poi组件。
public List<String[]> paseUserStoryFile(MultipartFile file) {
List<String[]> list = new ArrayList<String[]>();
try {
POIFSFileSystem pois = new POIFSFileSystem(file.getInputStream());
//新建WorkBook
HSSFWorkbook wb = new HSSFWorkbook(pois);
//获取Sheet(工作薄)总个数
int sheetNumber = wb.getNumberOfSheets();
for (int i = 0; i < sheetNumber; i++) {
//获取Sheet(工作薄)
HSSFSheet sheet = wb.getSheetAt(i);
//开始行数
int firstRow = sheet.getFirstRowNum();
//结束行数
int lastRow = sheet.getLastRowNum();
//判断该Sheet(工作薄)是否为空
boolean isEmpty = false;
if(firstRow == lastRow){
isEmpty = true;
}
if(!isEmpty){
for (int j = firstRow+1; j <= lastRow; j++) {
//获取一行
HSSFRow row = sheet.getRow(j);
//开始列数
int firstCell = row.getFirstCellNum();
//结束列数
int lastCell = row.getLastCellNum();
//判断该行是否为空
String[] value = new String[lastCell];
if(firstCell != lastCell){
for (int k = firstCell; k < lastCell; k++) {
//获取一个单元格
HSSFCell cell = row.getCell(k);
Object str = null;
//获取单元格,值的类型
int cellType = cell.getCellType();
if(cellType == 0){
str = cell.getNumericCellValue();
}else if(cellType == 1){
str = cell.getStringCellValue();
}else if(cellType == 2){
}else if(cellType == 4){
str = cell.getBooleanCellValue();
}
value[k] = (String) str;
}
}
//每一行循环完对应的就是一个用户故事的所有属性全部拿到
list.add(value);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
【转】上传并解析excel的更多相关文章
- springboot实现上传并解析Excel
添加pom依赖 <!-- excel解析包 --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> ...
- 如何实现批量上传----------Java解析excel
一.引子 在web平台开发中仅经常会遇到一下需要批量的问题,通常得做法是使用excel上传,下面主要介绍一下在实际开发中到的实例. 二.准备工作 1.需要导入的jar包(主要用到poi包) (1)po ...
- IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗
前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免 ...
- java 文件上传与解析(excel,txt)
excel上传与解析 https://blog.csdn.net/zsysu_it/article/details/79074067 txt解析 https://blog.csdn.net/CSDNw ...
- 基于BootStrap的initupload()实现Excel上传和获取excel中的数据
简单说明:后边要做exl解析(还没做呢),所以先有一个excel的的上传以及获取excel中的数据,展示出来. 代码: //html代码 <div class="btn-group&q ...
- php文件上传代码解析
php文件上传代码解析 is_uploaded_file() //函数判断指定的文件是否是通过 HTTP POST 上传的,返回一个布尔值. $_FILES['upfile']['tmp_name' ...
- Web攻防系列教程之文件上传攻防解析(转载)
Web攻防系列教程之文件上传攻防解析: 文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题.但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题.本文将对文件上传的 ...
- springMVC:为MultipartFilte配置了上传文件解析器,报错或不能使用
一.问题描述为支持restful风格请求,并且应对可能上传文件的情况,需要在配置hiddenHttpMethodFilter过滤器之前配置MultipartFilter.目的是让MultipartFi ...
- java将Excel文件上传并解析为List数组
前端 //导入excel文件 layui.use('upload', function() { var upload =layui.upload; //指定允许上传的文件类型 var uploadIn ...
随机推荐
- java 翻页工具类
Pagination类 package com.paic.bics.core.mybatis.page; import java.util.List; @SuppressWarnings(" ...
- iOS开发——高级篇——iOS 强制退出程序APP代码
1.先po代码 UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.exitapplication message:@" ...
- 【OI】Kruskal & ufs (克鲁斯卡与并查集)
Kruskal是有关于最小生成树的算法. 这个算法非常好理解,用一句话来概括就是: 从小到大找不同集合的边. 那么,具体是怎样的呢. 1.先把所有顶点初始化为一个连通分量. 2.从所有边中选择最小的( ...
- cssTest
html <!doctype html> <html> <head> <meta charset="utf-8"> <meta ...
- flash、flex builder、flash builder、 air的关系
flash VS flex builder flash被adobe收购的时候是flash8,已经可以AS2面向对象了. 而被adobe收购后,adobe准备把flash打造成一个开发工具.就比如JBU ...
- 红米note怎么打开USB调试模式
红米note到货后,打开USB调试模式是一些新手很棘手的问题,所以要手机助手成功识别红米note,你必须打开红米note的USB调试模式.在安卓4.2版本中,系统的USB调试模式不是非常简单地被打开的 ...
- Spring实战笔记
晚上看了这本书的前面几章,记录一下自己看到的要点. 全书分为四大部分,Spring核心,web,后台相关,与其它框架集成.今天主要看了第一部分. Spring最根本的使命是简化Java开发,全方位的简 ...
- 数据读进set,进行后处理
#include <iostream> #include <vector> #include <cstddef> #include <string> # ...
- 深入浅出Android makefile(2)--LOCAL_PATH(转载)
转自:http://nfer-zhuang.iteye.com/blog/1752387 一.说明 上文我们对acp的Android.mk文件做了一个大致的描述,使得大家对Android.mk文件有了 ...
- noip2016 小结(ac两题+学习总结)
NOIP2016考试小结 DAY 1 T1 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内, ...