需要导入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. zju(6)中断控制实验

    1.实验目的 1.学习和掌握Linux下中断驱动的写法: 二.实验内容 1.编写EduKit-IV实验箱Linux操作系统下按键key的驱动: 2.编写EduKit-IV实验箱Linux操作系统下按键 ...

  2. java web用于保持状态的4种方法

    方法一:网址重写 通过在url地址后面添加若干的token作为查询字符串来实现.token的值一般为 键=值 url?key1=value1&key2=value2&...&k ...

  3. 自动删除Mysql备份(数组+for)

    #!/bin/bash #author:V #Dispaly:auto delete mysql backup. BACKDIR=(/home/11/mysqlbackup/ /home/full/) ...

  4. Android课程---环境配置很重要

  5. IOS第八天(1:UITableViewController团购,数据转模型,xib显示数据)

    ******HMTg.h 模型数据 #import <Foundation/Foundation.h> @interface HMTg : NSObject @property (nona ...

  6. C# 特殊关键字

    1.static 表示被修饰的对象的生命周期与当前的应用程序域相同,因此可以在多个实例中共享 2.const 表示常量且只能在声明时赋值,因此const的常量在编译时就能确定,它如果没有被static ...

  7. Empire C:Basic 2

    作为人与计算机沟通的媒介,C语言给我们呈现了:printf.scanf.以及缓冲区. 1.printf("%d",a) %d:d是decimal base(十进制)的开头字母,意思 ...

  8. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  9. linux 查找命令

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print

  10. 服务设计模式一:Web服务概述

    目录 1. Web服务是什么 2.为什么要使用Web服务 3.Web服务考虑的因素和替代方案 4.SOA是什么 Web服务是什么? 所谓服务,通俗的理解就是别人帮你做一些事情,比如说,腰酸背痛了,找个 ...