springmvc上传excel并解析excel
来源:互联网 发布:游族网络市值 编辑:程序博客网 时间:2024/05/21 20:29
最近在工作中遇到需要通过解析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;
}
- springmvc上传excel并解析excel
- SpringMVC上传、解析Excel
- SpringMVC上传、解析Excel
- 上传并解析excel文件
- Java上传Excel并解析
- node.js上传并解析Excel文件
- node.js上传并解析Excel文件
- struts2--实现Excel上传并解析
- Excel上传并解析(java)
- 使用maven+springmvc+POI对上传的Excel文件进行解析并操作
- Extjs4.0上传并解析excel和导出excel
- Extjs4.0上传并解析excel和导出excel
- SpringMvc+POI上传Excel
- springmvc之Excel文件上传并写入数据库
- Jquery+SpringMVC实现上传Excel文件,并批量导入
- springmvc上传excel文件并保存到数据库中
- Java SpringMVC POI上传excel并读取文件内容
- 上传excel并处理
- 运营 | 讨论积分的维度
- VS 搭建三层架构(图文结合)
- python第二站续--字典dict
- POJ 3262-Protecting the Flowers(贪心+前缀和)
- 带吸附效果的ViewPager(二)
- springmvc上传excel并解析excel
- 64位ubuntu16.04安装Android Studio
- docker导出导入镜像
- MySQL的IF函数
- EditText写入图片
- 如何修改Bluetooth link supervision timeout (基于CSR BC4/5)
- 深入了解MyBatis参数
- NKOI 2134 最大异或次大
- Spring源代码解析URL