Java通过jxl读取Excel
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的更多相关文章
- Java 用jxl读取excel并保存到数据库(此方法存在局限,仅限本地电脑操作,放在服务器上的项目,需要把文件上传到服务器,详细信息,见我的别的博客)
项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单. 基本的思路: 把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数 ...
- JAVA利用jxl读取Excel内容
JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03 xls格式的Excel. import java.io.File; import java.io.FileInp ...
- java中使用jxl读取excel中的数据
package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...
- 利用jxl读取excel合并的单元格的一个小样例
工作中我们可能要把Excel文件的记录保存到数据库, 今天我用jxl读取Excel文件时遇到了合并格的问题,记录例如以下: 如Excel文件例如以下: watermark/2/text/aHR0cDo ...
- java利用jxl操作Excel
/** * 把从数据库查询到的数据,写入电子表格 * * @throws Exception */ public void createXls() throws Exception { Dao dao ...
- JAVA使用POI读取EXCEL文件的简单model
一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...
- 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中 ...
- Java web项目 Jxl 读取excel 并保存到数据库,(从eclipse上移动到tomact服务器上,之路径更改,)
最开始在eclipse中测试的时候,并没有上传到服务器上,后来发现,想要读取数据必须上传服务器然后把文件删除就可以了,服务器不可以直接读取外地的文件.用到jxl 1.上传到服务器 前端 <for ...
- 通过jxl 读取excel 文件中的日期,并计算时间间隔
java读取excel里面的日期会出现相差8小时的问题. 比如excel里面有一个日期是:2012-7-2 17:14:03秒,用Cell cell=readSheet.getCell(colNo, ...
随机推荐
- VS Code非英语版本连接TFS错误解决方案
使用VS Code连接TFS时,提示以下错误: (team) It appears you have configured a non-English version of the TF execut ...
- 10.18正式开发stark组件*(三)
2018-10-18 19:15:54 等这个stark组件做完了再上传到github上面,然后再整理博客!这就到周末啦! 因为models导入的时候出现bug,所以只有源码没有测试数据! 源码都有注 ...
- 微信生成二维码 只需一个网址即刻 还有jquery生成二维码
<div class="orderDetails-info"> <img src="http://qr.topscan.com/api.php?text ...
- 怎样将M4A音频格式转换成MP3格式
因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤 ...
- Codeforces 191A - Dynasty Puzzles - [DP]
题目链接:https://codeforces.com/problemset/problem/191/A 题意: 给出 $n$ 个小写字母组成的字符串,两个字符串如果前者的最后一个字母与后者的首字母相 ...
- ul li 的 float:left;
如 ul li{float:left;} 出来的效果不仅是原本默认竖着排的元素变横排,还是往左边排,重点是元素是按顺序排的,如果float等于right,则不仅是往右排,且元素是倒着排的,如原来的a ...
- ACM:油田(Oil Deposits,UVa 572)
/* Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...
- iOS中类、元类、isa详解
类相信大家都知道是什么,如果看过runtime的源码或者看过相关的文章对isa肯定也不陌生,不过元类(meta class)大家可能就比较陌生了.不过大家也不要担心,我会细细道来,让大家明白它到底是个 ...
- ios-静态库,动态库,framework浅析(一)
一,所谓的“库” * 所谓的“库” 库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用.什么时候我们会用到库呢? 一种情 ...
- isprime_判断质数
判断质数的方法有很多,首先是最简单的试除法,判断n以内的质数的话时间复杂度为n*sqrt(n)当然是很慢的了 下面提供三种判断质数的方法: 首先是跑5051ms的这个是埃拉托斯特尼筛法 且不加优化 核 ...