excel解析工具类
<span style="font-family:Microsoft YaHei;font-size:14px;">public class FileExcelOperation {private WritableWorkbook fWorkBook = null;private WritableWorkbook newReadBook = null;private Workbook fReadBook = null;/*** 创建读取EXCEL* @param fileName* @return*/public Workbook readExcel(String fileName){File f = new File(fileName);if (!f.exists()){throw new SystemException("文件不存在");}try {fReadBook = Workbook.getWorkbook(f);} catch (Exception e) {throw new SystemException(e.getMessage());}return fReadBook;}/*** 获取数据页通过索引* TODO* * @param index* @return Sheet* * history**/public Sheet readSheet(int index){if(fReadBook == null){throw new SystemException("读取EXCEL工作薄不能为空");}return fReadBook.getSheet(index);}/*** 获取数据页通过页签* TODO* * @param name* @return Sheet* * history**/public Sheet readSheet(String name){if(fReadBook == null){throw new SystemException("读取EXCEL工作薄不能为空");}return fReadBook.getSheet(name);}public Cell getCell(Sheet activeSheet , int col , int row){return activeSheet.getCell(col , row);}public String getCellValue(Sheet activeSheet , int col , int row){return activeSheet.getCell(col , row).getContents().toString();}public int getRowCount(Sheet activeSheet){return activeSheet.getRows();}public int getColumnCount(Sheet activeSheet){return activeSheet.getColumns();}/*** 创建写入EXCEL* @param fileName* @return*/public WritableWorkbook openExcel(String fileName){if (fWorkBook == null){String str = fileName.substring(0 , fileName.lastIndexOf(File.separator));File dir = new File(str+File.separator);if (!dir.exists()){dir.mkdirs();}}File f = new File(fileName);try {fWorkBook = Workbook.createWorkbook(f);} catch (IOException e) {throw new SystemException(e.getMessage());}return fWorkBook;}public WritableWorkbook copeWritableWorkbook(String fileName){String str = fileName.substring(0 , fileName.lastIndexOf(File.separator));File dir = new File(str+File.separator);if (!dir.exists()){dir.mkdirs();}try {newReadBook = Workbook.createWorkbook(new File(fileName), fReadBook);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return newReadBook;}public WritableSheet getNewSheet(int index){return newReadBook.getSheet(index);}public WritableSheet getSheet(int index){return fWorkBook.getSheet(index);}public WritableSheet getSheet(String name){return fWorkBook.getSheet(name);}public WritableSheet createSheet(String name){return fWorkBook.createSheet(name, 0);}public WritableSheet createSheet(String name , int index){return fWorkBook.createSheet(name, index);}public Cell getCell(WritableSheet activeSheet , int col , int row){return activeSheet.getCell(col , row);}public String getCellValue(WritableSheet activeSheet , int col , int row){return activeSheet.getCell(col , row).getContents().toString();}public void setCellValue(WritableSheet activeSheet , int col , int row , String value){try {activeSheet.addCell(new Label(col, row, value));} catch (Exception e) {throw new SystemException(e.getMessage());} }public int getRowCount(WritableSheet activeSheet){return activeSheet.getRows();}public int getColumnCount(WritableSheet activeSheet){return activeSheet.getColumns();}/*** * @param activeSheet 激活页* @param l 数据LIST* @param cap 头LIST* @param sort 排序LIST* @param startRow 起始行* @param startCol 起始列*/@SuppressWarnings("unused")public void setExcelValue(WritableSheet activeSheet , List l , List cap , List sort , int startRow , int startCol){if (l.size() <=0){return;}int row = startRow ;if (cap != null && cap.size()>0){for (int i = 0 ; i<cap.size() ; i++){setCellValue(activeSheet , startCol +i , startRow , cap.get(i).toString());}} else {if (sort != null && sort.size()>0){ for (int r = 0 ; r < sort.size() ;r++){Map m = (Map)l.get(0);Iterator it = m.entrySet().iterator();int i =0;while(it.hasNext()){Map.Entry t = (Map.Entry) it.next();if (sort.get(r).toString().equals(t.getKey().toString())){setCellValue(activeSheet , startCol +r , startRow , t.getKey().toString()); i++;break;} i++;}}} else {Map m = (Map)l.get(0);Iterator it = m.entrySet().iterator();int i =0;while(it.hasNext()){Map.Entry t = (Map.Entry) it.next();setCellValue(activeSheet , startCol +i , startRow , t.getKey().toString()); i++;}}}row += 1;if (sort != null && sort.size()>0){for (int i = 0 ; i<l.size() ; i++){Map m = (Map)l.get(i);for (int c = 0 ; c<sort.size() ; c++){if (m.containsKey(sort.get(c).toString())){setCellValue(activeSheet , startCol +c , row +i , m.get(sort.get(c).toString()).toString());}}}} else {for (int i = 0 ; i<l.size() ; i++){Map m = (Map)l.get(i);Iterator it = m.entrySet().iterator();int r =0;while(it.hasNext()){Map.Entry t = (Map.Entry) it.next();setCellValue(activeSheet , startCol +r , row +i , t.getValue().toString()); r ++;}}}}public WritableSheet setSheetExcelValue(int index, int startRow, int startCol, String value){WritableSheet r = null;r = this.getNewSheet(index);setCellValue(r, startRow, startCol, value);return r;}public WritableSheet newSheetExcelValue(String sheetName , int index , List l , List cap , List sort , int startRow , int startCol){WritableSheet r = null;r = this.createSheet(sheetName, index);setExcelValue(r , l , cap ,sort, startRow , startCol);return r;}public WritableSheet newSheetExcelValue(String sheetName , List l , List cap , List sort , int startRow , int startCol){WritableSheet r = null;r = this.createSheet(sheetName, 0);setExcelValue(r , l , cap , sort ,startRow , startCol);return r;}public WritableSheet newSheetExcelValue(String sheetName , List l , List cap ,List sort ){WritableSheet r = null;r = this.createSheet(sheetName, 0);setExcelValue(r , l , cap ,sort, 0 , 0);return r;}public WritableSheet newSheetExcelValue( List l , List cap , List sort){WritableSheet r = null;r = this.createSheet("新建sheet1", 0);setExcelValue(r , l , cap ,sort , 0 , 0);return r;}public WritableSheet newSheetExcelValue( List l , List sort){WritableSheet r = null;r = this.createSheet("新建sheet1", 0);setExcelValue(r , l , null ,sort, 0 , 0);return r;}public void saveQuit(){try {if (fWorkBook != null){fWorkBook.write();fWorkBook.close();fWorkBook = null;}if (newReadBook != null){newReadBook.write();newReadBook.close();newReadBook = null;}if (fReadBook != null){fReadBook.close();fReadBook = null;}} catch (Exception e) {throw new SystemException(e.getMessage());}}public void withoutSaveQuit(){try {if (fWorkBook != null){fWorkBook.close();fWorkBook = null;}if (newReadBook != null){newReadBook.close();newReadBook = null;}if (fReadBook != null){fReadBook.close();fReadBook = null;}} catch (Exception e) {throw new SystemException(e.getMessage());}}}
</span>
excel解析工具类相关推荐
- poi的excel解析工具类
2019独角兽企业重金招聘Python工程师标准>>> import org.apache.commons.lang.StringUtils; import org.apache.c ...
- easyexcel一个很棒的Excel解析工具
easyexcel一个很棒的Excel解析工具 前言 Excel格式 核心原理对比 理解与使用 总结 前言 最近手头上有一个项目,其中有一个需求就是要Excel表格导入导出,之前有过类似的经验,不过当 ...
- Excel解析工具easyexcel全面探索
1. Excel解析工具easyexcel全面探索 1.1. 简介 之前我们想到Excel解析一般是使用POI,但POI存在一个严重的问题,就是非常消耗内存.所以阿里人员对它进行了重写从而诞生了eas ...
- 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
Json解析工具类 前言 一.各个JSON技术的简介 1.1 FastJson角色 1.2 Jackson角色 1.3 Gson角色 二.使用步骤 2.1 引入库 1.FastJson依赖 2.Jac ...
- java读写excel文件poi_Java利用POI读写Excel文件工具类
本文实例为大家分享了Java读写Excel文件工具类的具体代码,供大家参考,具体内容如下 package com.test.app.utils; import java.io.File; import ...
- php解析命令行参数选项,PHP 命令行参数解析工具类的示例代码
PHP 命令行参数解析工具类的示例代码 /** * 命令行参数解析工具类 * @author guolinchao */ class CommandLine { // 临时记录短选项的选项值 priv ...
- Excel导出工具类
前言 相信不少同学在开发中都会遇到导出excel这种需求,今天将Excel的导出工具和大家进行一个分享,如有错误还请大佬们批评指正.该工具类可以实现自定义列宽,自定义表头样式,实现了多sheet页合并 ...
- java 自定义json解析注解 复杂json解析 工具类
java 自定义json解析注解 复杂json解析 工具类 目录 java 自定义json解析注解 复杂json解析 工具类 1.背景 2.需求-各式各样的json 一.一星难度json[json对象 ...
- java解析mdb文件_Access MDB文件解析查询,Access数据库解析工具类MdbUtils
Access MDB文件解析查询,Access数据库解析工具类MdbUtils ================================ ©Copyright 蕃薯耀 2018年9月18日 h ...
最新文章
- 主成分分析、因子分析、聚类分析的比较与应用
- Hadoop_23_MapReduce倒排索引实现
- 利用正则表达式实现python强口令检测
- LuckyDraw bot有幸被提名为微软2019的People's Choice app
- 聊聊jdk http的HeaderFilter
- as模拟器文件夹路径_EGG Switch手机模拟器怎么用?中文教程来了......
- 【计算机视觉】opencv姿态解算6 理论算法调研 PNP问题 5种算法
- Java基础学习总结(165)——API 安全最佳实践
- 多服务器认证协议,轻量级的多服务器认证协议及其应用的研究
- python里面Dataset干嘛的_用 Python 对成绩分类汇总!
- php 字符串长度判断_php 字符串长度判断更高效的方法
- 关于GOP和帧率、码率的关系
- windows 清除IE浏览器缓存的脚本
- python 字典计数_python怎么用字典计数
- 解决 Vue3.0 globalThis is note defined
- # 前后端国际化多语言配置
- Trinity 概述(一)
- 编辑/调试汇编语言所需要工具
- 分布式文件系统KFS基础知识介绍
- matlab导入示波器multisim,Multisim中示波器的使用方法
热门文章
- python去除噪点_如何用python搞定验证码中的噪点
- 上海软科 计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名拉夫堡大学排名第401-500...
- 2017年软考网络管理员基础知识考试内容
- 笔试题13——击鼓传花
- 【李宏毅-语音识别】课程一
- 用Python构造neo4j知识图谱(关于中成药的)
- commdao.java怎么读,我发帖来求助不知道是不是很天真了
- 安装JDK报错:Failed to extract file RegUtils from the binary table
- 负数转无符号运算 (-1对256取模)
- 工作流引擎 Activiti 入门详解