- 浏览: 2990160 次
- 性别:
- 来自: 河南
文章分类
- 全部博客 (340)
- Java综合 (26)
- 程序人生 (53)
- RIA-ExtJS专栏 (18)
- RIA-mxGraph专栏 (4)
- RIA-Flex4专栏 (43)
- 框架-Spring专栏 (16)
- 框架-持久化专栏 (22)
- 框架-Struts2专栏 (11)
- 框架-Struts专栏 (12)
- SQL/NOSQL (12)
- 报表/图表 (2)
- 工作流 (5)
- XML专栏 (4)
- 日常报错解决方案 (5)
- Web前端-综合 (12)
- Web/JSP (14)
- Web前端-ajax专栏 (14)
- Web前端-JQuery专栏 (9)
- IDE技巧 (6)
- FILE/IO (14)
- 远程服务调用 (2)
- SSO单点登录 (2)
- 资源分享 (22)
- 云计算 (1)
- 项目管理 (3)
- php专栏 (1)
- Python专栏 (2)
- Linux (1)
- 缓存系统 (1)
- 队列服务器 (1)
- 网络编程 (0)
- Node.js (1)
最新评论
-
hui1989106a:
我的也不能解压,360和好压都试了,都不行
《Spring in Action》完整中文版分享下载 -
temotemo:
这些example有些过时了,官方建议使用HBase-1.0 ...
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询 -
zy8102:
非常感谢~
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
重命名了一下搞定了
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载 -
zy8102:
为什么下载以后老解压不了呢?
HeadFirst系列之七:《深入浅出SQL》原版高清PDF电子书分享下载
有博友发信说要Excel转txt不成,这是因为没有准确的设置,读取Excel的方式可以很多,但要实现转txt就得精确设置,按行读取,贴下代码如下
public class ExcelReader {
private static File [] getFiles(String path){
File file = new File(path);
// get the folder list
File[] array = file.listFiles();
return array;
}
public static void main(String[] args) throws IOException {
// TODO code application logic here
File[] files=getFiles("D:\\data\\");
for(int i=0;i<files.length;i++){
String filePath=files[i].getPath();
String fileName=files[i].getName();
String newFileName=fileName.substring(0, fileName.indexOf('.'));
String s="";
try{
ExcelReader er=new ExcelReader(filePath);
String line=er.readLine();
while(line != null){
s=s+line+"\r\n";
line=er.readLine();
}
er.close();
}catch(Exception e){
e.printStackTrace();
}
//System.out.println(s);
File newFile=new File("D:\\backupfile\\"+newFileName+".txt");
FileOutputStream fops=new FileOutputStream(newFile);
fops.write(s.getBytes());
}
}
// 创建文件输入流
private BufferedReader reader = null;
// 文件类型
private String filetype;
// 文件二进制输入流
private InputStream is = null;
// 当前的Sheet
private int currSheet;
// 当前位置
private int currPosition;
// Sheet数量
private int numOfSheets;
// HSSFWorkbook
HSSFWorkbook workbook = null;
// 设置Cell之间以空格分割
private static String EXCEL_LINE_DELIMITER = " ";
// 设置最大列数
private static int MAX_EXCEL_COLUMNS = 64;
// 构造函数创建一个ExcelReader
public ExcelReader(String inputfile) throws IOException, Exception {
// 判断参数是否为空或没有意义
if (inputfile == null || inputfile.trim().equals("")) {
throw new IOException("no input file specified");
}
// 取得文件名的后缀名赋值给filetype
this.filetype = inputfile.substring(inputfile.lastIndexOf(".") + 1);
// 设置开始行为0
currPosition = 0;
// 设置当前位置为0
currSheet = 0;
// 创建文件输入流
is = new FileInputStream(inputfile);
// 判断文件格式
if (filetype.equalsIgnoreCase("xls")) {
// 如果是Excel文件则创建HSSFWorkbook读取
workbook = new HSSFWorkbook(is);
// 设置Sheet数
numOfSheets = workbook.getNumberOfSheets();
}
else {
throw new Exception("File Type Not Supported");
}
}
// 函数readLine读取文件的一行
public String readLine() throws IOException {
// 如果是XLS文件则通过POI提供的API读取文件
if (filetype.equalsIgnoreCase("xls")) {
// 根据currSheet值获得当前的sheet
HSSFSheet sheet = workbook.getSheetAt(currSheet);
// 判断当前行是否到但前Sheet的结尾
// System.out.println(sheet.getLastRowNum());
if (currPosition > sheet.getLastRowNum()) {
// 当前行位置清零
currPosition = 0;
// 判断是否还有Sheet
if (currSheet != numOfSheets - 1) {
currSheet++;
// 得到下一张Sheet
sheet = workbook.getSheetAt(currSheet);
}else{
return null;
}
}
// 获取当前行数
int row = currPosition;
currPosition++;
// 读取当前行数据
return getLine(sheet, row);
}
return null;
}
// 函数getLine返回Sheet的一行数据
private String getLine(HSSFSheet sheet, int row) {
// 根据行数取得Sheet的一行
HSSFRow rowline = sheet.getRow(row);
// 创建字符创缓冲区
StringBuffer buffer = new StringBuffer();
// 获取当前行的列数
int filledColumns;
try{
filledColumns = rowline.getLastCellNum();
}catch(NullPointerException e){
return "";
}
HSSFCell cell = null;
// 循环遍历所有列
for (int i = 0; i < filledColumns; i++) {
// 取得当前Cell
cell = rowline.getCell((short) i);
String cellvalue = null;
if (cell != null) {
// 判断当前Cell的Type
switch (cell.getCellType()) {
// 如果当前Cell的Type为NUMERIC
case HSSFCell.CELL_TYPE_NUMERIC: {
// 判断当前的cell是否为Date
if (HSSFDateUtil.isCellDateFormatted(cell)) {
// 如果是Date类型则,取得该Cell的Date值
Date date = cell.getDateCellValue();
// 把Date转换成本地格式的字符串
cellvalue = cell.getDateCellValue().toString();
}
// 如果是纯数字
else {
// 取得当前Cell的数值
Integer num = new Integer((int) cell
.getNumericCellValue());
cellvalue = String.valueOf(num);
}
break;
}
// 如果当前Cell的Type为STRIN
case HSSFCell.CELL_TYPE_STRING:
// 取得当前的Cell字符串
cellvalue = cell.getRichStringCellValue().toString().replaceAll("'", "''");
break;
// 默认的Cell值
default:
cellvalue = "";
}
} else {
cellvalue = "";
}
// 在每个字段之间插入分割符
buffer.append(cellvalue).append(EXCEL_LINE_DELIMITER);
}
// 以字符串返回该行的数据
return buffer.toString();
}
// close函数执行流的关闭操作
public void close() {
// 如果is不为空,则关闭InputSteam文件输入流
if (is != null) {
try {
is.close();
} catch (IOException e) {
is = null;
}
}
// 如果reader不为空则关闭BufferedReader文件输入流
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
reader = null;
}
}
}
}
评论
3 楼
xxw152413
2011-04-28
楼主,这个只能转换第一级目录下的xls啊,其他更深的目录就转换不了了啊,求解答啊
2 楼
JavaCrazyer
2010-08-18
nashuoliqu 写道
楼主,首先感谢你的分享,我看了下代码,里面有两个类HSSFWorkbook和HSSFSheet没有定义,麻烦你提供下相应jar包。我的邮箱是wenli30920@sina.com,非常感谢。
这都是POI的资源JAR包,你可以下载个POI,先学习什么是POI吧
1 楼
nashuoliqu
2010-08-18
楼主,首先感谢你的分享,我看了下代码,里面有两个类HSSFWorkbook和HSSFSheet没有定义,麻烦你提供下相应jar包。我的邮箱是wenli30920@sina.com,非常感谢。
发表评论
-
POI设置EXCEL单元格格式为文本、小数、百分比、货币、日期、科学计数法和中文大写
2011-01-25 11:07 79225再读本篇文章之前,请先看我的前一篇文章,前一篇文章中有重点讲到 ... -
POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】
2011-01-25 10:07 80671实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JX ... -
web网页上的文件下载功能
2010-11-18 16:00 12410首先提供下我的下载页面 那么要实现这么一种下载的话,t ... -
在IIS中设置默认的FTP目录
2010-10-19 10:13 2571【实现目标】 IIS的FTP目录默认是在“C:\inetpub ... -
Apache Common-Configuration的使用,重点介绍对XML和Properties的读取操作
2010-09-25 15:41 9948Apache Common-Configuration工具可以 ... -
关于JXL读写以及修改EXCEL文件
2010-07-29 09:08 14522首先引用网上的文章,谈谈JXL与POI的区别 POI为ap ... -
JAVA开发中POI和JXL区分
2010-07-27 10:48 7393java操作excel表格,以前只知道POI。POI是apac ... -
Java开发过程中文件上传的各种方式全面总结
2010-07-07 17:54 9977到目前为止:我接触到的有关上传的类型有这么几种JSP+Ser ... -
FTP远程上传下载文件
2010-05-25 22:21 5152最近工作中用到FTP知识,感觉比较好用,代码贴在下面 /* ... -
CSV文件读取与生成以及Excel文件的读取生成
2010-05-23 17:28 10613其一:CSV文件读取与生成 ①CSV文件读取 ... -
Java IO流各种使用方式总结
2010-05-23 17:04 2775①针对普通文本的复 ... -
使用JAVA(iText)生成word(rtf)文档---内容可含图片哦
2010-03-24 15:58 22455当我使用这个JAVA生成RTF文件时费了好大的劲,原本是 ... -
lucene开发中有关读取pdf,html,word,rtf,txt,powerpoint,excel等文档的操作
2010-03-23 10:18 7483关于这七种文档,我相信应该是最常用的文档了 在以下的介绍中 ...
相关推荐
java实现批量excel转csv,其中csv文件为utf-8格式,支持直接导入数据库。
java注解实现通用Excel中文表格转实体对象列表,支持中文表头,在Excel数据导入使用的...基于注解实现的支持中文表头的读取Excel数据并转换为实体对象列表的工具类,使用该工具类可将Excel数据转换成任意实体任意字段
本Java类实现了将标准的json字符串转换成map,并将数据解析到Excel的方法,本方法简单实用,可以批量导出数据到Excel文档中
Java通过POI读取Excel遍历数据,根本word模板批量生成word文档,demo可运行,可根据需求修改
该项目实现批量导入Excel记录时,自动转换行为Java实体对象该项目实现批量导入Excel记录时,自动转换行为Java实体对象该项目实现批量导入Excel记录时,自动转换行为Java实体对象
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。 说明:https://blog.csdn.net/xlantian/article/details/80789115
批量获取excel的指定列表的值转换格式后导入word文档指定位置中;适用于代理人(律师)整理案件文书,或者一些需要批量操作的工作者
通过命令行测试 , 参数为excel路径和pdf目标路径。 可以通过java调用,实现自动转换。
可以实现: ...3、可以根据excel文件进行拆分,excel文件中IP地址,支持上述两种方式,Excel中只要包含起始IP列、终止IP列,或者包含IP地址段,就可以自动批量生成单个IP,并且还可以保留原来excel的字段;
word、excel批量转换为pdf项目源码 此源码需求环境为: jdk1.8 jacob maven idea 使用idea导入此项目即可使用,word批量转换文件存放目录在当前定义目录
采用java编程语言,目的是解决文本文件转化成excel的问题。 1、支持多个txt批量转化,自定义分隔符 2、支持生成xls和xlsx两种格式 3、自带数据校验,可尽最大可能避免转换失误 对代码的几点说明 1、...
支持所有文本格式的文档(如 txt,js,css,java,c..),二进制或程序(如word,excel,exe文件)不要使用本转换工具,因为是JAVA程序 需要你的机器上已经安装了JDK 使用方法: 1,打开start.sh文件,windows用户把扩展名.sh...
全网独家,手写程序并测试,完美自用OCR程序,【批量处理OCR】【表格识别】【证件识别】功能都包含 -----【表格识别能够自动导出到电脑生成Excel文件 功能齐全,替换你的阿里服务 key 或者 appcode即可 【需要更改的...
java swing 采用C/S架构编写的工具集合,包括pdf转换jpg,jpg转pdf,Excel转pdf,合并pdf,批量创建文件夹,根据文件名称创建文件夹,文件批量重命名,根据文件名称移动文件到文件夹,扫描件去黑边,修改jpg图片的...
对Excel类型文件(xls,xlsx)进行批量转换CSV格式,完成文件格式无损转换,在Linux系统,通过view或其他命令查看xls、xlsx文件时会产生乱码,使用view查看csv文件不会产生乱码,因为csv格式文件是由空格和逗号进行...
excel转pdf,用新奇的思路解决aspose100次转换限制的问题,仅供学习和参考,请勿商用!水印的问题可以通过添加一张空白图片到pdf上解决!
方案:先将数据组装成json格式方便插入Excel时进行遍历,接着以巡检项为每个row,都需重复插入巡检组和设备,在最后将巡检组、设备的单元格进行合并。 问题2图片如何正确的插入? 方案:使用POI在Excel中插入多张...
(1) 支持多文件批量转换,批量修改输出路径 (2) 支持大文件转换 (3) 可选提取字段 (4) 本地机器可不需要安装EXCEL (5) 当提取字段同名有多个时,可以选择提取第一个还是提取所有 (6) 自动检测源文件编码,也可手动设定...
QRcode是通过excel表格批量转二维码,QRCode2通过txt批量转二维码
在参考其他人的东西基础上,添加了一些常用的转换格式.可批量转换,使用excel,可直接导入数据库