需要导入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内容的更多相关文章

  1. JXL解析Excel表格内容到数据库

    java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好:而JXL解析简单方便,对中文支持比较好. 工作中解析Excel内容上传到数 ...

  2. Java:JXL解析Excel文件

    项目中,有需求要使用JXL解析Excel文件. 解析Excel文件 我们先要将文件转化为数据流inputStream. 当inputStream很大的时候 会造成Java虚拟器内存不够 抛出内存溢出 ...

  3. jxl解析excel时,处理中文乱码问题

    jxl解析excel时,处理中文乱码问题 一般出现较多的问题是,当exce中包含了中文或特殊字符时,在解析时候就会出现乱码现象. 解决方法为: InputStream in = new FileInp ...

  4. poi解析Excel内容

    poi可以将指定目录下的Excel中的内容解析.读取到java程序中.下面是一个Demo: 使用poi需要导下包,如下: 首先是准备读取的Excel表,存放在"E:\programming\ ...

  5. Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

    JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...

  6. 使用jxl 解析Excel

    jxl(Java Excel API) 使用方法 [1]    构建Workbook对象, 只读Workbook对象  //   直接从本地文档创建Workbook  //   从输入流创建Workb ...

  7. 使用jxl读取excel内容,并转换成Json,用于Datagrid

    一.上传excel文件,得到InputStream,由InputStream得到Jxl中的Workbook,取出内容,存到二维数组中. 1.使用 Jquery Uploadify 插件(http:// ...

  8. JAVA利用jxl读取Excel内容

    JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. import java.io.File; import java.io.FileInp ...

  9. jxl解析多个excel工作表-java代码

    @Override public ResultBean txImportDqKpi(String filePath) { ResultBean rb = new ResultBean(); int s ...

随机推荐

  1. 满足要求的最长上升子序列(nlogn)

    题意:数列A1,A2,...,AN,修改最少的数字,使得数列严格单调递增.(1<=N<=10^5; 1<=Ai<=10^9 ) 思路:首先要明白的一点是数列是严格单调递增,那么 ...

  2. vmware启动虚拟机报“内部错误”的解决方法

    最近换了Win8系统,结果vmware就报了如标题描述的错误,网上查了些资料,现将解决方法记录在此,以备查阅. 右键点击wmware程序图标,选择[属性],选择[兼容性]选项卡,勾选“以管理员身份运行 ...

  3. html第二天CSS

  4. SpringBoot配置Email发送功能

    相信使用过Spring的众多开发者都知道Spring提供了非常好用的 JavaMailSender接口实现邮件发送.在Spring Boot的Starter模块中也为此提供了自动化配置.下面通过实例看 ...

  5. LaTex 插入图片

    \usepackage{mathrsfs} \usepackage{amsmath} \usepackage{graphicx} 宏包 \includegraphics{graph01.eps} %插 ...

  6. C#编码标准

    一.命名约定 1.PascalCasting PascalCasing 每一个单词第一个字母大写,其余字母均小写.例如:FileAccess,ArraySegment等. 除了参数.变量.常量外,所有 ...

  7. HDU 1264 Counting Squares(线段树求面积的并)

    Counting Squares Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. jdk安装配置具体分析

    JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java文件夹的根目录下,j ...

  9. Properties类使用

    package com.emolay.util; import java.io.IOException; import java.io.InputStream; import java.util.Pr ...

  10. 《UML大战需求分析》阅读笔记01

    在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...