package com.hd.all.test.testjava;

import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException; public class ReadExcelJXL { public static void main(String[] args) throws BiffException, IOException {
//Exception in thread "main" jxl.read.biff.BiffException: Unable to recognize OLE stream
//1.不能读取2007版本的Excel;2.java生成的也不能读取 // File file = new File("E:/students2017-10-19_10_55_55.xls");
/**
* 读Excel内容
*/
File file = new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\1.xls");
Workbook wb = Workbook.getWorkbook(file);
Sheet s = wb.getSheet("Sheet1");
/**
* 写Excel内容
*/
WritableWorkbook book = Workbook.createWorkbook(new File("C:\\Users\\Administrator\\Desktop\\新建文件夹\\2.xls"));
WritableSheet sheet = book.createSheet("Sheet1", 0); String reg = "1[0-9][A-Z]{2,3}[0-9]{5,6}";//匹配15KF111111
Pattern p = Pattern.compile(reg); String reg1 = "100[0-9]{5}";//匹配10011111
Pattern p1 = Pattern.compile(reg1); String reg2 = "2[0-9]{11}-{0,1}[0-9]{0,1}";//匹配211111111111(-n)-->211111111111-2
Pattern p2 = Pattern.compile(reg2); Cell c = null;
int i = 1;
while(true){
c = s.getCell(0,i);//第i行第二列,0是第一列
Matcher m = p.matcher(c.getContents());//匹配15KF111111
Matcher m1 = p1.matcher(c.getContents());//匹配10011111
Matcher m2 = p2.matcher(c.getContents());//匹配211111111111
try {
if(m.find()){
sheet.addCell(new Label(2,i,m.group(0)));//如果是鼎捷料号输出
}else{
if(m2.find()){
sheet.addCell(new Label(2,i,m2.group(0)));
}else{
if(m1.find()){
sheet.addCell(new Label(3,i,m1.group(0)));//如果是10011111格式的输出
}
}
}
} catch (Exception e) {
} i++;
if (i > 753)//Excel的行数减1
break;
}
book.write();
try {
book.close();
} catch (WriteException e) {
e.printStackTrace();
}
} }

Java通过jxl读取Excel的更多相关文章

  1. Java 用jxl读取excel并保存到数据库(此方法存在局限,仅限本地电脑操作,放在服务器上的项目,需要把文件上传到服务器,详细信息,见我的别的博客)

    项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单. 基本的思路: 把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数 ...

  2. JAVA利用jxl读取Excel内容

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

  3. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

  4. 利用jxl读取excel合并的单元格的一个小样例

    工作中我们可能要把Excel文件的记录保存到数据库, 今天我用jxl读取Excel文件时遇到了合并格的问题,记录例如以下: 如Excel文件例如以下: watermark/2/text/aHR0cDo ...

  5. java利用jxl操作Excel

    /** * 把从数据库查询到的数据,写入电子表格 * * @throws Exception */ public void createXls() throws Exception { Dao dao ...

  6. JAVA使用POI读取EXCEL文件的简单model

    一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

  7. Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决

    Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决 引言: 在Java中 ...

  8. Java web项目 Jxl 读取excel 并保存到数据库,(从eclipse上移动到tomact服务器上,之路径更改,)

    最开始在eclipse中测试的时候,并没有上传到服务器上,后来发现,想要读取数据必须上传服务器然后把文件删除就可以了,服务器不可以直接读取外地的文件.用到jxl 1.上传到服务器 前端 <for ...

  9. 通过jxl 读取excel 文件中的日期,并计算时间间隔

    java读取excel里面的日期会出现相差8小时的问题. 比如excel里面有一个日期是:2012-7-2 17:14:03秒,用Cell cell=readSheet.getCell(colNo, ...

随机推荐

  1. D - Football (aka Soccer)

    Football the most popular sport in the world (americans insist to call it "Soccer", but we ...

  2. Flask web开发之路六

    紧接着上篇文档,写模板继承和block,URL链接和加载静态文件 模板继承和block 项目结构 主app文件代码: from flask import Flask,render_template a ...

  3. LeetCode_7.Reverse Integer

    问题 Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Ex ...

  4. TensorRT下安装pycuda

    为了模型小型化,效率更高,使用TensorRT进行优化.前提是你必须要安装pycuda,可是费了我一番功夫.做一个笔记如下: 1.参考网址: https://wiki.tiker.net/PyCuda ...

  5. React中Props 和 State用法

    React中Props 和 State用法 1.本质 一句话概括,props 是组件对外的接口,state 是组件对内的接口.组件内可以引用其他组件,组件之间的引用形成了一个树状结构(组件树),如果下 ...

  6. 【每日一题】 UVA - 11809 Floating-Point Numbers 阅读题+取对数处理爆double

    https://cn.vjudge.net/problem/UVA-11809 题意:很长orz 题解:算一下输入范围,发现用double是读不进来的,在这里wa了半天,(double 1e300  ...

  7. 自动化运维工具-pdsh工具安装配置及简单使用讲解

    1.先决条件: 安装pssh工具的主机针对远程主机需要配置免秘钥认证: ssh-keygen -t rsa ssh-copy-id [remotehost] 2.下载pssh工具安装介质: https ...

  8. EF-CodeFirst-数据库初始化

    数据库初始化 之前看到Code-First会自动根据域模型创建数据库,下图展示了一个数据库初始化工作流程,该工作流程基于从DbContext派生的上下文类的基础构造函数中传递的参数 如上图所示,上下文 ...

  9. 50 行代码教你爬取猫眼电影 TOP100 榜所有信息

    对于Python初学者来说,爬虫技能是应该是最好入门,也是最能够有让自己有成就感的,今天,恋习Python的手把手系列,手把手教你入门Python爬虫,爬取猫眼电影TOP100榜信息,将涉及到基础爬虫 ...

  10. RHEL5.5的安装文档

    ---恢复内容开始--- 1.1 安装操作系统 (1) 按“ENTER”键,进入图形模式安装: (2) 检测CD,点击“Skip”跳过: (3) 安装界面显示,点击“Next”: (4) 选择语言为“ ...