jxl解析excel文件的简单例子
程序员文章站
2022-04-09 09:29:07
...
项目中用到,简单记录下来,以后有用:
package com.nantian.common.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Cell;
import jxl.CellType;
import jxl.DateCell;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelUtil {
public List readContentFromExcel(String filename) {
Workbook workbook = null;
try {
File file = new File(filename);
InputStream is = new FileInputStream(file);
workbook = Workbook.getWorkbook(is);//得到工作表
List total = new ArrayList();
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {//遍历每个工作簿
Sheet sheet = workbook.getSheet(i);
Cell cell = null;
String data = null;
List list = new ArrayList();
for (int j = 0; j < sheet.getRows(); j++) {//遍历每一行
if(j == 0)continue;//忽略第一行标题行
Map map = new HashMap();
for (int k = 0; k < sheet.getColumns(); k++) {//遍历每个单元格
cell = sheet.getCell(k, j);// 注意 先是列 后是行
if (cell.getType() == CellType.LABEL) {// 如果数据类型是label的
data = cell.getContents();
} else if (cell.getType() == CellType.NUMBER) {// 如果数据类型是number类型的
NumberCell nc = (NumberCell) cell;
data = nc.getValue() + "";
} else if (cell.getType() == CellType.DATE) {//日期类型
DateCell cd = (DateCell) cell;
data = cd.getDate() + "";
}
map.put("column" + k, data);
}
list.add(map);
}
total.add(list);
}
return total;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("科目导入出错!");
} finally {
if (workbook != null)
workbook.close();
}
}
}
备注:注意解析完成后应关闭资源,尤其是当excel文件过大时。
上一篇: linux环境安装Jenkins
下一篇: yolo测试图片批量裁剪+pad指定尺寸
推荐阅读
-
PHP使用ajax的post方式下载excel文件简单示例
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
koa上传excel文件并解析的实现方法
-
Python3操作Excel文件(读写)的简单实例
-
python开发一个解析protobuf文件的简单编译器
-
用POI生成Excel文件的典型例子【基于poi3.0 附源码】 javapoiExcel
-
基于流的EXCEL文件导出,SXSSFWorkbook源码解析
-
java用jxl包导出Excel的例子
-
asp导出excel文件最简单方便的方法
-
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子