用jxl解析excel内容
需要导入jxl.jar
下方表格为excel中内容:
| 序号 | 姓名 | 性别 | 生日 | 地址 |
| 1 | 测试1 | 男 | 1990-1-1 | 北京朝阳区 |
| 2 | 测试2 | 女 | 1998-2-2 | 北京海淀 |
| 3 | 测试3 | 男 | 1999-3-3 | 北京大兴 |
代码示例:
package com; import java.io.File;
import java.io.IOException; import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.read.biff.BiffException; public class ParseExcel { /**
* 解析excel
* @param filePath 路径
*/
public void parseExcel(String filePath){
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding("gbk");//防止乱码情况
try {
Workbook workbook = Workbook.getWorkbook(new File(filePath), workbookSettings);
Sheet[] sheets = workbook.getSheets();//获取excel中的要解析的sheet
if(sheets==null||sheets.length==0){
return;
}
for(int sheetIndex=0;sheetIndex<sheets.length;sheetIndex++){
Sheet sheet = sheets[sheetIndex];
String sheetName = sheet.getName();
if("Sheet1".equals(sheetName)){
int rows = sheet.getRows();
int columns = sheet.getColumns();
for(int rowIndex=0;rowIndex<rows;rowIndex++){//遍历行
String number = "";
String name = "";
String sex = "";
String birth = "";
String address = "";
for(int columnIndex=0;columnIndex<columns;columnIndex++){//遍历列
String content = sheet.getCell(columnIndex, rowIndex).getContents().trim();//动态获取cell中的内容
if(columnIndex==0){
number = content;
}else if(columnIndex==1){
name = content;
}else if(columnIndex==2){
sex = content;
}else if(columnIndex==3){
birth = content;
}else if(columnIndex==4){
address = content;
}
} System.out.println(number+" | "+name+" | "+sex+" | "+birth+" | "+address);//输出解析的内容 if(rowIndex==0){//第一行是标题行,从下一行解析
continue;
} if("".equals(number)&&"".equals(name)&&"".equals(sex)
&&"".equals(birth)&&"".equals(address)){//遇到都是空行停止遍历
break;
} //TODO 保存一类的业务逻辑 } }else if("Sheet2".equals(sheetName)){
//TODO Sheet2表单业务
}else if("Sheet3".equals(sheetName)){
//TODO Sheet3表单业务
}
} } catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
String filePath = "D:\\test.xls";
ParseExcel parseExcel = new ParseExcel();
parseExcel.parseExcel(filePath);
}
}
测试后输出内容:
序号 | 姓名 | 性别 | 生日 | 地址
1 | 测试1 | 男 | 90-1-1 | 北京朝阳区
2 | 测试2 | 女 | 98-2-2 | 北京海淀
3 | 测试3 | 男 | 99-3-3 | 北京大兴
用jxl解析excel内容的更多相关文章
- JXL解析Excel表格内容到数据库
java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...
- Java:JXL解析Excel文件
项目中,有需求要使用JXL解析Excel文件. 解析Excel文件 我们先要将文件转化为数据流inputStream. 当inputStream很大的时候 会造成Java虚拟器内存不够 抛出内存溢出 ...
- jxl解析excel时,处理中文乱码问题
jxl解析excel时,处理中文乱码问题 一般出现较多的问题是,当exce中包含了中文或特殊字符时,在解析时候就会出现乱码现象. 解决方法为: InputStream in = new FileInp ...
- poi解析Excel内容
poi可以将指定目录下的Excel中的内容解析.读取到java程序中.下面是一个Demo: 使用poi需要导下包,如下: 首先是准备读取的Excel表,存放在"E:\programming\ ...
- Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)
JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03 xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...
- 使用jxl 解析Excel
jxl(Java Excel API) 使用方法 [1] 构建Workbook对象, 只读Workbook对象 // 直接从本地文档创建Workbook // 从输入流创建Workb ...
- 使用jxl读取excel内容,并转换成Json,用于Datagrid
一.上传excel文件,得到InputStream,由InputStream得到Jxl中的Workbook,取出内容,存到二维数组中. 1.使用 Jquery Uploadify 插件(http:// ...
- JAVA利用jxl读取Excel内容
JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03 xls格式的Excel. import java.io.File; import java.io.FileInp ...
- jxl解析多个excel工作表-java代码
@Override public ResultBean txImportDqKpi(String filePath) { ResultBean rb = new ResultBean(); int s ...
随机推荐
- Mysql的实时同步 - 双机互备
设置方法: 步一设 A 服务服 (192.168.1.43) 上用户为 backup, 123456 , 同步的数据库为test; B 服务服 (192.168.1.23) 上用户为 root, 12 ...
- JavaScript入门篇 第三天(认识DOM)
认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...
- 将/home目录从单独的分区迁移回/目录下
安装系统的时候, 将/, swap, /home这三个目录放在了三个不同的分区, 现在希望将/home目录移回/目录下. 1. umount /home, 然后在/目录下创建/home_new, 通过 ...
- Ubuntu 常用工具、指令安装
修改source list,使用阿里云的软件源 sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sed - ...
- 如何获取imageView中当前内容的相关信息并比较?
public class MainActivity extends Activity implements OnClickListener{ private Button button; privat ...
- Spark运行原理解析
前言: Spark Application的运行架构由两部分组成:driver program(SparkContext)和executor.Spark Application一般都是在集群中运行,比 ...
- css 待处理
三角css http://www.jb51.net/article/42513.htm http://blog.aizhet.com/web/4382.html 实现图片灰度效果 http://www ...
- vscode 编写python如何禁止 flake8 提示 line too long
使用vscode编写python还是挺舒服的,但是如果给vscode安装了语法校验插件,例如flake8,会常常提示一些非常苛刻的语法问题,其中最让人不能忍受的就是line to long. 一行仅能 ...
- UINavigation Bar中使用UIcollectionView,在UIcollectionView的顶端和低端出现空白的问题
在含有UINavigation Bar的视图中,使用UIcollectionView,会在UIcollectionView的顶端和低端出现空白,需要添加下面 一句代码,空白即可消失 //如果不加这 ...
- Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 )
1. 前言 本教程使用的系统是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本为7.5,使用的NVIDIA驱动版本为352. 如果您使用的Pascal架构显卡,如GTX1080或者新 ...