- 浏览: 81368 次
- 性别:
- 来自: 陕西
文章分类
- 全部博客 (53)
- java开发 (27)
- C# (5)
- Extjs (0)
- Python (3)
- 数据库 (5)
- Flex (3)
- Oracle (3)
- mysql (2)
- javaScript (1)
- jsp/servlet (1)
- 数据结构和算法 (6)
- spring (2)
- struts (1)
- Hibernate (3)
- Ibatis (0)
- UML (0)
- Jquery (0)
- android (0)
- 数据结构和算法,排序 (4)
- Linux (2)
- C/C++ (1)
- 工具使用 (4)
- flex,java (1)
- http://irfen.iteye.com/blog/1174699 (0)
- SEO (1)
- java (1)
最新评论
-
eagle59:
谢谢分享。。。。
java SSH面试资料 -
樊明涛:
写的很不错!perfect!
java文件操作2
package cn.ccb.odsbsx.common.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelReader {
// 创建文件输入流
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;
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());
}
}
// 构造函数创建一个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;
}
}
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelReader {
// 创建文件输入流
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;
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());
}
}
// 构造函数创建一个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;
}
}
}
}
发表评论
-
Flex+spring+hibernate+mysql+blaze DS框架搭建
2015-04-10 09:35 816以前在项目中使用Flex+spring+hibernate ... -
java使用配置文件连接mysql
2015-04-10 09:30 936java程序中连接数据库的方式很多,有的是在程序代码中直接 ... -
http://blog.mn886.net/jqGrid/
2014-12-01 13:47 0/WEB-INF/conf/,web.xml去掉classpa ... -
java中读取服务器配置文件方法
2014-07-30 10:00 1103在程序开发和设计中,我们经常把一些需要改变的数值配置在文件中, ... -
flex 安全沙箱冲突问题
2012-08-29 17:23 2174问题出现情况: 我们采用myeclipse+spring+fl ... -
flex 使用swfLoad注意事项(转)
2012-07-25 19:38 2366var swf : SWFLoader = new SWFLo ... -
javascript获取jsf table值
2012-04-25 21:38 1355这是一个jsf 中的table,我们可以通过javascrip ... -
java 读写Excel (支持office 2007)
2012-04-25 21:21 1290/** * EXCEL文档解析工具类 该工具能将EXCEL文 ... -
java 操作csv文件
2012-02-06 16:28 1405package cn.ccb.odsbsx.common.ut ... -
Java 表单提交两种方式(网上整理)
2012-01-07 15:01 3031GET与POST的区别: 一、Get是从服务器上 ... -
java压缩文件或文件夹
2011-12-31 08:59 1138/** * @param inputFilePath ... -
分享java解析XML文件(来源于网上)
2011-12-25 15:00 10921.介绍 1)DOM(JAXP ... -
汉诺塔java算法
2011-12-23 16:15 1957package wgy; import java.io.Bu ... -
java最大子序列和算法分析
2011-12-23 15:28 2022/** * 算法一 */ public int ma ... -
java实现全排列
2011-12-21 09:16 1042package wgy; import java.util. ... -
java SSH面试资料
2011-12-20 10:15 2824Java---SSH(MVC) 1. 谈谈你mvc ... -
spring面试资料
2011-12-20 10:11 1780* Spring的优点有什么? 1. Spring是分层的架 ... -
java排序算法综合
2011-12-20 10:01 1071package temp; import sun ... -
java排序算法
2011-12-18 19:48 16071.判断链表是否存在环型链表 问题:判断一个链表是否存在环,例 ... -
员工在线考试(简单)
2011-11-20 19:14 860一个简单的员工在线考试系统。
相关推荐
Java 读取 Excel 文件 Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入...
在Java编程中,读取...以上就是使用Java读取Excel文件生成矩阵的基本步骤。实际开发中,你可能还需要处理更多细节,如异常处理、数据验证、优化性能等。希望这个介绍能帮助你理解这个过程,并在实际项目中灵活应用。
在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...
总结来说,使用Java和Apache POI框架读取Excel文件的内容主要包括以下几个步骤: 1. 引入Apache POI依赖。 2. 创建`FileInputStream`,加载Excel文件到`Workbook`对象。 3. 从`Workbook`中获取`Sheet`对象。 4. 遍历...
Java 读取 Excel 文件是许多开发任务中的常见需求,Apache POI 是一个广泛使用的开源库,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在本案例中,提供的压缩包 "poi.zip" 包含了两个子文件:poi-bin-...
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
总结来说,解决Java读取Excel内存溢出问题,关键在于合理利用资源、优化代码逻辑以及选择适合的API,如Apache POI的SXSSF。通过这些方法,我们可以在不显著增加系统资源负担的情况下,高效地处理大Excel文件。
Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...
标题“Java读取Excel文件所需Jar包”表明我们将讨论如何在Java环境中使用这些库来读取Excel(xls、xlsx)文件。描述中提到的“Jar包”是指Java Archive,它是Java程序的可执行文件格式,包含了类文件和其他资源。 ...
本教程将深入探讨如何使用基于Apache POI的Java代码来读取Excel文件。 一、Apache POI介绍 Apache POI是Apache软件基金会的一个开源项目,它的主要目标是提供一套API,使Java程序员能够创建、修改和显示Microsoft ...
本篇将深入探讨如何利用Java读取Excel文件内容,并自动根据这些内容在MySQL数据库中创建相应的表。 首先,我们需要了解Java中用于读取Excel文件的库。Apache POI是一个流行的选择,它提供了对Microsoft Office格式...
在Java编程中,读取Excel文件是一项常见的任务,特别是在数据处理、数据分析或自动化测试等领域。这篇博客“java 读取Excel文件”可能介绍了一些方法来处理Excel数据。下面,我们将详细探讨如何使用Java来读取Excel...
"Java 读取 Excel 文件" Java 读取 Excel 文件是 Java 语言中常见的操作之一,通过使用 Apache POI 库,可以轻松地读取 Excel 文件中的数据。本文将通过 ReadExcelUtil 工具类,详细介绍如何读取 Excel 文件。 ...
java读取Excel文件-jxl附件列表: ReadAndWriteExcel.java (5.52 KB) jxl.jar (688.03 KB) jxl读Excel文件.doc (88.50 KB)
Java读取xls、CSV、xlsx文件所用到的jar包,包括: dom4j-1.6.1.jar geronimo-stax-api_1.0_spec-1.0.jar opencsv-2.3.jar poi-3.7-20101029.jar poi-examples-3.7-20101029.jar poi-ooxml-3.7-20101029.jar poi-...
java使用的jpoi读取execl文件 该资源含有最新的poi的jar包 可以用来读取execlxls xlsx两种格式 里面含有代码可以直接运行
java读取Excel文件 ,可用于安卓开发,将Excel文件导入安卓的数据库中。
以上步骤将帮助你完成Java读取Excel文件以及绘制成绩分布统计图的基本操作。在这个过程中,你可能还需要处理不同类型的单元格(数值、字符串等),对数据进行排序和分组,以及自定义图表的样式和颜色。通过不断实践...