搜档网
当前位置:搜档网 › excel操作性能对比和操作说明以及完整的例子 jxl poi

excel操作性能对比和操作说明以及完整的例子 jxl poi

excel操作性能对比和操作说明以及完整的例子 jxl poi
excel操作性能对比和操作说明以及完整的例子 jxl poi

一、性能对比

技术poi jxl csv

读excel第一次

读excel平均时间

920 750 31

写excel第一次

(毫秒)

写excel平均时间

750 450 31

(毫秒)

备注:由于测试的环境(计算机配置,运行时cpu、内存使用量,不同测试用例处理的集合类型和数据量)存在悬殊,会有不少误差,等有时间待进一步对性能进行精确定义。

二、相关

1、csv

1)定义

csv(Comma Separate Values)文件即逗号分隔符文件,它是一种文本文件,可以直接以文本打开,以逗号分隔。windows默认用excel打开。

主要应用:经常用来作为不同程序之间的数据交互的格式。

2)语法规范:

①每条记录占一行;

②以逗号为分隔符;

③逗号前后的空格会被忽略;

④字段中包含有逗号,该字段必须用双引号括起来;

⑤字段中包含有换行符,该字段必须用双引号括起来;

⑥字段前后包含有空格,该字段必须用双引号括起来;

⑦字段中的双引号用两个双引号表示;

⑧字段中如果有双引号,该字段必须用双引号括起来;

⑨第一条记录,可以是字段名;

⑩以上提到的逗号和双引号均为半角字符。

3)处理方式

用流来操作。具体做法见代码。

4)缺陷:不能真正意义上操作excel

2、POI

Apache的POI组件是Java操作Microsoft Office办公套件的强大API,其中对Word,Excel和PowperPoint都有支持,当然使用较多的还是Excel,因为Word 和PowerPoint用程序动态操作的应用较少。

Office 2007的文件结构完全不同于2003,所以对于两个版本的Office组件,POI有不同的处理API,分开使用即可。

首先来说几个Excel的基本概念。对于一个Excel文件,这称为一个工作簿(Workbook),打开Excel之后,在下方会有sheet1/2/3这样的选项卡,点击可以切换到不同的sheet中,这个sheet称作工作表。每个工作表就是我们编辑的区域,这是一张二维表,阿拉伯数字控制行数,从1开始,而程序中还是0,类似数组和集合。字母控制列数,从A开始,Z以后是两个字母控制。对于每一行,我们称为Row,列就是Column,行列可以确定唯一的一个元素,那么就是单元格,称为Cell。

3、JXL

Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新

已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用

Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel 数据表的访问。现在发布的稳

定版本是V2.0,提供以下功能:

从Excel 95、97、2000等格式的文件中读取数据;

读取Excel公式(可以读取Excel 97以后的公式);

生成Excel数据表(格式为Excel 97);

支持字体、数字、日期的格式化;

支持单元格的阴影操作,以及颜色操作;

修改已经存在的数据表;

现在还不支持以下功能,但不久就会提供了:

不能够读取图表信息;

可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出;

注:所有的操作都是在缓存里,最后:write()写入文件

1、数据量大时会占用较多的内存:close()释放内存

2、excel工作表最大记录数为65536,当超出此范围时需要重新创建新的工作表(sheet)

4、说明

1)poi和jxl相对效率差,并且很容易内存越界,大约数据量为20000*10之上,就会出问题,但,poi和jxl对excel的操作较csv灵活的,能进行格式和字体的操作。

2)不知可不可以分不同应用,采用不同形式的操作方式。

注:代码文件夹下java2excel为测试代码,更详细的相关代码见workspace下,读取excel或者写格式的代码。

Jar包工程里有。

java导入导出excel操作

java导入导出excel操作(jxl) Java解释Excel数据(包的使用) 关键字: java excel 包 下载地址: 真实下载地址: 网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java 的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel 文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 搭建环境 将下载后的文件解包,得到,放入classpath,安装就完成了。 基本操作 一、创建文件 拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下: Java代码 /* * Created on Dec 30, 2007 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package ; import .*; import jxl.*; import .*;

/** * @author Ken * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class CreateXLS { public static void main(String[] args) { try { WritableWorkbook book = (new File("d:/")); 0 means this is 1st page. WritableSheet sheet = ("Sheet_1", 0); value is "test". Label label = new Label(0, 0, "test"); (label); WARN:necessarily use integrated package-path, otherwise will be throws path -error. value is . number = new0, ; (number); (); (); } catch (Exception e) { (); } } } 编译执行后,会在当前位置产生一个Excel文件。 二、读取文件 以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

POI操作excel内存一直增大解决方法

POI操作Excel POI操作Excel 内存一直增大直至溢出问题主要是针对写入内容操作.xlsx格式 遇到问题: 如果反复操作模板文件往工作表中写入数据会出现文件内存一直增大问题 多次操作的话直至内存溢出。 (1)首先要配置myEclipse ------->run----->run Configurations----->Java Application ----对其下要用到的类进行配置---->Arguments在VM arguments 下写入 -Xms512m -Xmx1048m -XX:PermSize=128m -XX:MaxPermSize=400m -Dcom.sun.management.jmxremote=true 点击apply 然后确定 (2)这里根据能想到的方法进行了多次测试: <1>多次下载数据写入sheet1 每次写入数据之前清空sheet1中的所有行内容,之后再写入新数据即每次操作都是对sheet1的更新;能够清空内容但是内存大小还会一直增大初步认为是内容清空了行所占的占位符还在那表面是空了但是真实的大小还是存在,暂没有解决此问题 示例代码 /*for(int i = 0;;i++){ XSSFRow row = sheet.getRow(i); if(row != null){ sheet.removeRow(row); }else{ break; } }*/ <2>多次下载数据写入sheet1 每次写入前对工作区的工作表进行删除操作,删除sheet1 ,然后在新建sheet1,写入数据,确保每次数据都是最新暂没有解决此问题 示例代码 public void deleteSheet(String targetFile,String sheetName) { try { FileInputStream fis = new FileInputStream(targetFile); HSSFWorkbook wb = new HSSFWorkbook(fis); //删除Sheet wb.removeSheetAt(wb.getSheetIndex(sheetName)); this.fileWrite(targetFile, wb); fis.close(); } catch (Exception e) { e.printStackTrace(); } } //新建 public static void newSheet1(String filePath,String sheetName) throws Exception{ try { System.out.println("然后走的这里新建sheet1+++++++++++++++++++++++++++++"); FileInputStream fis = new FileInputStream(filePath); XSSFWorkbook workbook2003 = new XSSFWorkbook(fis);

Java实现Excel数据导入和导出的研究与应用

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.sodocs.net/doc/dd16507669.html, 摘要:Excel能够通过功能强大的工具将杂乱的数据组织成有用的信息,然后分析、交流和共享所得到的结果。很多系统由于存在着大量需要处理的数据,Excel本身强大的功能使得它成为处理分析这些数据首选的工具。随着Java语言成为越来越多系统的开发语言,利用Java进行Excel的数据导入导出在很多系统中都发挥着重要的作用,本文主要介绍了Jxl API的主要功能,并结合实例探讨了利用Jxl API操作Excel数据的导入和导出。 关键字:Java;Excel; Jxl API;数据导入导出 中图分类号:TP312文献标识码:A 1. 引言 MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段。在远程网络教学系统中,利用Excel表格统计学生的作业考试情况信息,便于老师了解学生的学习情况,分析教学效果,制定教学计划。所以,用Java操作Excel表格,导出相关的信息对于远程网络教育系统有着的很重要的意义。 在开源世界中,有两套比较有影响的API提供Excel数据导入导出的功能,一个是POI,一个是jExcelAPI。本文结合基于J2EE开发的多媒体教学系统中提供的将学生作业信息导出到Excel表格中的实例,详细阐述了利用JAVA开发的jExcelAPI操作excel的方法。 2. Jxl 简介 2.1 Java语言简介 Java语言具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行,鲁棒,安全,体系结构中立,可移植,高性能,多线程以及动态性。 2.2什么是Jxl Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该 API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、 Servlet来调用API实现对Excel数据表的访问。 Jxl发布的稳定版本是V2.0,提供以下功能: 从Excel 95、97、2000等格式的文件中读取数据[3]; 读取Excel公式(可以读取Excel 97以后的公式)[3];

poi读写Excel文件

一、Excel基础 二、HSSF概况 三、通过usermodel读取文件 四、通过usermodel写入文件 五、通过eventusermodel读取文件 六、HSSF电子表格结构 七、通过HPSF读取文档属性 八、文档摘要信息 九、附录 ━━━━━━ 正文: ━━━━━━ 在上一篇文章中,我们介绍了POI项目的基本概念,了解了如何用POI来读写OLE 2复合文档结构,并给出了两个简单的例子:用POI来读写Excel文件的Workbook流。本文继续前文的话题,阐述如何用POI来读取/写入完整的Excel文件。 约定:POI项目2.0版现在已经接近正式发行阶段,开发进度迅速,不断有新的功能集成到原有的系统,同时也有对原有系统的修改。为了保证本文的及时性,本文将按照最近的1.9开发版说明。虽然编译最近的发行版源代码也能正常运行,但现在的代码和2.0的发行版会有一些出入。 一、Excel基础 Microsoft Excel 97文件格式也被称为BIFF8,最近版本的Excel只对该格式作了少量的改动。增加对新格式的支持除了增加项目的复杂性之外,唯一的效果也许只是不得不使每个用户升级代码,没有什么实际的好处。因此,在下文说明中,凡是提到Excel 97格式的地方其实都是指Excel从97到XP的格式。 二、HSSF概况 POI项目实现的Excel 97文件格式称为HSSF——也许你已经猜到,HSSF是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”(微软使某些原本简单的事情过分复杂,同时又过分简单地处理了某些原本需要灵活性的事情,让人不胜佩服!)也

POI操作Excel常用方法总结

POI操作Excel常用方法总结 一、POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2003对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。 二、HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即“用户模型”和“事件-用户模型”。前者很好理解,后者比较抽象,但操作效率要高得多。 三、POI EXCEL文档结构类 HSSFWorkbook excel文档对象 HSSFSheet excel的sheet HSSFRow excel的行 HSSFCell excel的单元格 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头 HSSFFooter sheet尾 HSSFCellStyle cell样式 HSSFDateUtil 日期 HSSFPrintSetup 打印 HSSFErrorConstants 错误信息表 四、EXCEL常用操作方法 1、得到Excel常用对象 POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls")); HSSFWorkbook wb = new HSSFWorkbook(fs);//得到Excel工作簿对象 HSSFSheet sheet = wb.getSheetAt(0); //得到Excel工作表对象 HSSFRow row = sheet.getRow(i);//得到Excel工作表的行 HSSFCell cell = row.getCell((short) j);//得到Excel工作表指定行的单元格 cellStyle = cell.getCellStyle();//得到单元格样式 2、建立Excel常用对象 HSSFWorkbook wb = new HSSFWorkbook();//创建Excel工作簿对象 HSSFSheet sheet = wb.createSheet("new sheet");//创建Excel工作表对象 HSSFRow row = sheet.createRow((short)0); //创建Excel工作表的行 cellStyle = wb.createCellStyle();//创建单元格样式

poi操作excel行自适应高度

import java.text.SimpleDateFormat; import java.util.Date; import https://www.sodocs.net/doc/dd16507669.html,ng3.StringUtils; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFDataFormat; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFDateUtil; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFWorkbook; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Cell; import org.apache.poi.ss.util.CellRangeAddress; /** * excel行自适应高度 * @author lw * @version 2019年8月27日下午1:59:27 */ public class AutoRowHeightUtil { /** * 自适应excel行高 * @author lw * @date 2019年8月27日上午10:27:33 * @param cell 列 * @param margin 字体边距 */ public static void autoRowHeight(HSSFCell cell, short margin) { if(cell == null) { return ; } String cellVal = getStringCellValue(cell) ; if(StringUtils.isBlank(cellVal)) { return ;

Java用poi读取excel文件

Java用poi读取excel文件 POI 是Apache的一个开源的工具包,可以在Apache的官网下载到jar包。如下为简单示例: package POI; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ReadExcel { public static void main(String[] args) { try { InputStream input = new FileInputStream("D:\\test.xls"); POIFSFileSystem fs = new POIFSFileSystem(input); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); // Iterate over each row in the sheet Iterator rows = sheet.rowIterator();

POI设置EXCEL单元格格式的操作小结

POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: Java代码 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一、设置背景色: Java代码 setBorder.setFillForegroundColor((short) 13);// 设置背景色setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); setBorder.setFillForegroundColor((short) 13);// 设置背景色setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 二、设置边框: Java代码 setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框 三、设置居中: Java代码 setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中

Java读取Excel文件的几种方法

Java读取Excel文件的几种方法 最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。 读取excel文件的常用开源免费方法有以下几种: JDBC-ODBC Excel Driver jxl.jar jcom.jar poi.jar 下面分别对这几种方法分别进行探讨 1、JDBC-ODBC Excel Driver 这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可 查询excel表格。优点是:不需要第三方的jar包。 如下表样 首先在控制面板进行数据源ODBC登记 具体方法如下:

下面就是代码了。 package xuzhe;

import java.io.*; import java.sql.*; //java xuzhe.ExcelJDBC public class ExcelJDBC { public static void main(String[] args) throws SQLException{ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection( "jdbc:odbc:ExcelJDBC" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println ("表格列数"+numberOfColumns ); System.out.println( rsmd.getColumnName(1)+ "," + rsmd.getColumnName(2) + "," + rsmd.getColumnName(3)); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } rs.close(); st.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } finally { con.close(); } } } 执行结果如下:

java的POI操作Excel文件

java的POI操作Excel文件(2) 现在我要做的东西基本完成啦,我把这段时间使用POI的一些心得总结出来,希望能对和我遇到相同问题的朋友有所帮助,至于POI基本的使用方法,自己去看文档吧。 1、设置分页符的bug POI里的HSSFSheet类提供了setRowBreak方法可以设置Sheet的分页符。 Bug:如果你要设置分页符的Sheet是本来就有的,并且你没有在里面插入过分页符,那么调用setRowBreak时POI会抛出空指针的异常。 解决方法:在Excel里给这个sheet插入一个分页符,用POI打开后再把它删掉,然后你就可以随意插入分页符了。 如果sheet是由POI生成的则没有这个问题。我跟踪了setRowBreak的源代码,发现是Sheet.Java下的PageBreakRecord rowBreaks这个变量在搞鬼,如果Sheet里原来没有分页符,开发这个模块的那位兄台忘了为这个对象new实例,所以只能我们先手工给Excel插入一个分页符来触发POI为rowBreaks创建实例。 2、如何拷贝行 我在https://www.sodocs.net/doc/dd16507669.html,的POI用户论坛翻遍了每个相关的帖子,找遍了api,也没看到一个拷贝行的方法,没办法,只能自己写: //注:this.fWorkbook是一个HSSHWorkbook,请自行在外部new public void copyRows (String pSourceSheetName, String pTargetSheetName, int pStartRow, int pEndRow, int pPosition) { HSSFRow sourceRow = null; HSSFRow targetRow = null; HSSFCell sourceCell = null; HSSFCell targetCell = null; HSSFSheet sourceSheet = null; HSSFSheet targetSheet = null; Region region = null; int cType; int i; short j; int targetRowFrom; int targetRowTo;

用JAVA Excel API 实现对Excel表格的读写更新

http:https://www.sodocs.net/doc/dd16507669.html, package myexceltest; import jxl.*; import Java.io.*; import jxl.write.*; /** * java读取Excel表格,拷贝、更新Excel工作薄 * Description: Java开发人员可以读取Excel文件的内容,更新Excel工作薄,开发人员 * 也可以用程序生成新的Excel表格,不过我觉得在我们工作中几乎没有这方面需求,我 * 就不再列出来了,如果有哪位同事需要的话,我再把程序写出来 * * Copyright: Copyright (c) KongZhong Corparation 2005 * 程序开发环境为jb9 * @author 张丽鹏 * @version 1.0 */ public class Test1 { public static void main(String[] args) { jxl.Workbook rwb = null; try{ //构建Workbook对象, 只读Workbook对象 //直接从本地文件创建Workbook //从输入流创建Workbook InputStream is = new FileInputStream("D:/jb9Test/MyExcelTest/Book1.xls"); rwb = Workbook.getWorkbook(is); //Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中 //Sheet的下标是从0开始

poi读取excel并输出到jsp页面

代码来源于网络,只做了部分修改,我也是刚用到很多都不懂,找了一些例子之类的自己用,有些不错的分享给大家,仅供参考。 下面这个是用servlet做(注意web.xml );其实原理一样;源码如下 readExcelServlet.java package com.test.servlet; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFDateUtil; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * author:wx * describe:Reads the Excel example * */ public class readExcelServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; /** * * Constructor of the object. */ public readExcelServlet() { super(); } /** * Destruction of the servlet.
* */ public void destroy() { super.destroy(); }// Just puts "destroy" string in log // Put your code here /** * doGet */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

poi读取excel,包含所有excel版本,兼容excel2003和2007以上版本

package com.excel; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFWorkbook; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Cell; import https://www.sodocs.net/doc/dd16507669.html,ermodel.DateUtil; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Row; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Sheet; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Workbook; import https://www.sodocs.net/doc/dd16507669.html,ermodel.WorkbookFactory; import https://www.sodocs.net/doc/dd16507669.html,ermodel.XSSFWorkbook; import org.apache.xmlbeans.impl.piccolo.io.FileFormatException; /** * 读取EXCEL内容 * @author lxr * */ public class TestReadExcelAll { private static final String EXTENSION_XLS = "xls"; private static final String EXTENSION_XLSX = "xlsx"; /** * 判断EXCEL版本 * @param in * @param filename * @return * @throws IOException */ public static Workbook getWorkbook(InputStream in,String filename)throws IOException {

JXL文档说明 JAVA EXCEL API 说明手册

Java excel API说明手册 作者:Rubber 整理:calf 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel 文件并不是一件容易的事。在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来越强烈,目前较为流行的操作是在JSP或Servlet中创建一个CSV(comma separated values)文件,并将这个文件以MIME,text/csv类型返回给浏览器,接着浏览器调用Excel并且显示CSV文件。这样只是说可以访问到Excel文件,但是还不能真正的操纵Excel文件,本文将给大家一个惊喜,向大家介绍一个开放源码项目,Java Excel API,使用它大家就可以方便地操纵Excel文件了。 JAVA EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel 文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel 数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel 数据表的访问。 现在发布的稳定版本是V2.0,提供以下功能: ?从Excel95、97、2000等格式的文件中读取数据; ?读取Excel公式(可以读取Excel97以后的公式); ?生成Excel数据表(格式为Excel97); ?支持字体、数字、日期的格式化; ?支持单元格的阴影操作,以及颜色操作; ?修改已经存在的数据表; 现在还不支持以下功能,但不久就会提供了: 1.不能够读取图表信息; 2.可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出; 应用示例 1从Excel文件读取数据表 Java Excel API既可以从本地文件系统的一个文件(.xls),也可以从输入流中读取Excel数据表。读取Excel数据表的第一步是创建Workbook(术语:工作薄),下面的代码片段举例说明了应该如何操作:(完整代码见ExcelReading.java)

poi读写excel案例

Java-Excel 报表开发 POI (2009-02-19 21:44:10) 转载▼ 分类:java 标签: java 杂谈 开发环境为windowsXP-SP2,Eclipse3.2,JDK1.5.07,其实差不多都行,不会有太大的差异。本文从POI 下载开始讲解,前提是开发环境包括系统变量等等已经正确设置完毕。 1.POI的下载 截至本文发表,POI最新版本是3.0.1,距离上一个Final版本有3年了吧,以至于我差点儿就把他放弃了——以为没人管了。官方的公告讲,这一版主要是追加了一些新的特性和BUG修正,不过稍微有点儿遗憾的是,还不能很好的操作Excel2007。 POI官方网址: https://www.sodocs.net/doc/dd16507669.html,/ JAR包下载: https://www.sodocs.net/doc/dd16507669.html,/poi/release/bin/poi-bin-3.0.1-FINAL-20070705.zip 源码下载: https://www.sodocs.net/doc/dd16507669.html,/poi/release/src/poi-src-3.0.1-FINAL-20070705.zip 下载上面的JAR和源码(源码不是必须的,但是为了早日修得正果,深入系统的看看POI代码还是有必要的)并解压待用。 2.用Eclipse搭建项目 打开Eclipse 依次点击File->New->Java Project 输入项目名称,本例中设置为POI 单击完成 在项目上点击右键->New->Folder 输入文件夹名称lib 把刚才解压的poi-3.0.1-FINAL-20070705.jar复制过来 右键点击项目,选择Properties 在左侧列表里选中Java Build Path,右侧选中Libraries 点击Add JARs,选择POI项目的lib下的所有文件 两次OK确认,回到Eclipse界面 小技巧,快捷操作:可以用鼠标左键选中poi-3.0.1-FINAL-20070705.jar但不松开,拖到任务栏的Eclipse 图标上等候1秒左右,Eclipse会自动弹起来,依然不松开移动到lib文件夹上,这个时候鼠标后面跟个十

JXL操作EXCEL的常用类方法参数解析

1. JXL操作EXCEL的常用类方法参数解析 Excel的生成方式其实很简单,主要包括几个大的类 首先最重要的几个类就是WritableWorkbook,这个类代表的就是一个Excel文档,使用过Excel文档的都应该知道Excel文档的组成,都是由一个一个的sheet组成的,那么这个sheet对应的java类就是WritableSheet。实际上就是这两个大类的组成,其他的一些小的类都是为了修饰WritableSheet里的内容的。 这些修饰类中用的最多的就是WritableFont , WritableCellFormat,以及Label类,这三个类构成了修WritableSheet的核心。 <一>抽象类Workbook 该类相当于是一个工具类用于生成Excel 方法: (1)createWorkbook(File file) createWorkbook(File file,Workbook in) createWorkbook(java.io.OutputStream os) 提供了各种形式的产生Excel的方式 (2)findByName(String name) 该方法的作用是获得名称为name的Range的数组

(3)findCellByName(String name) 该方法的作用是根据name来获取对应的cell对象(4)getCell(String location) 该方法的作用是根据location来获得对应的cell对象(5)getNumberOfSheets() 该方法的作用是是获得sheet的总个数 (6)getRangeNames() 该方法的作用是获得所有Range对象名称的数组 (7)getSheet(int index) 该方法的作用是根据下标来获取对应的sheet对象 (8)getSheet(String name) 该方法的作用是根据sheet的名称来获得对应的sheet对象(9)getSheetNames() 该方法的作用是获得所有sheet的名称所在的数组(10)getSheets() 该方法的作用是获得所有sheet对象所在的数组

poi操作Excel中sheet的复制(java版)

package https://www.sodocs.net/doc/dd16507669.html,bos.utils.exportexcel; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFCellStyle; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFFont; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFRichTextString; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/dd16507669.html,ermodel.HSSFWorkbook; import org.apache.poi.hssf.util.Region; import https://www.sodocs.net/doc/dd16507669.html,ermodel.Font; public class CopyExcelSheet{ @SuppressWarnings("deprecation") public static void main(String[] args) throws FileNotFoundException, IOException { String fromPath = "C:\\Users\\Administrator\\Desktop\\quinn\\1.xls";// excel存放路径 String toPath = "C:\\Users\\Administrator\\Desktop\\quinn\\5.xls";// 保存新EXCEL路径 copyExcelSheet(fromPath, toPath); } /** * @Title: 根据文件路径复制sheet * @Description: 将fromPath文件中的sheet全部复制到toPath中 * @param @param fromPath 源文件全路径 * @param @param toPath 新文件全路径 * @param @throws IOException * @return 返回类型 * @throws */ @SuppressWarnings("deprecation") public static void copyExcelSheet(String fromPath, String toPath) throws IOException { // 创建新的excel File toFile = new File(toPath); HSSFWorkbook wbCreat = null;

java操作EXCEL表格经典例子详解

Microsoft的Office系列产品拥有大量的用户,Word、Excel也成为办公文件的首选。在Java 中,已经有很多对于Word、Excel的开源的解决方案,其中比较出色的是Apache的Jakata 项目的POI子项目。该项目的官方网站是https://www.sodocs.net/doc/dd16507669.html,/poi/。 POI包括一系列的API,它们可以操作基于MicroSoft OLE 2 Compound Document Format的各种格式文件,可以通过这些API在Java中读写Excel、Word等文件。POI是完全的Java Excel 和Java Word解决方案。POI子项目包括:POIFS、HSSF、HDF、HPSF。表7-2对它们进行了简要介绍。 表7-2 POI子项目介绍 子项目名 说明 POIFS(POI File System) POIFS是POI项目中最早的最基础的一个模块,是Java到OLE 2 Compound Document Format 的接口,支持读写功能,所有的其他项目都依赖与该项目。 HSSF(Horrible Spreadsheet Format) HSSF是Java到Microsoft Excel 97(-2002)文件的接口,支持读写功能 HWPF(Horrible Word Processing Format) HWPF是Java到Microsoft Word 97文件的接口,支持读写功能,但目前该模块还处于刚开始开发阶段,只能实现一些简单文件的操作,在后续版本中,会提供更强大的支持 HPSF(Horrible Property Set Format) HPSF 是Java到OLE 2 Compound Document Format文件的属性设置的接口,属性设置通常用来设置文档的属性(标题,作者,最后修改日期等),还可以设置用户定义的属性。HPSF支持读写功能,当前发布版本中直支持读功能。 7.3.1 对Excel的处理类 下面通过HSSF提供的接口对Excel文件经行处理。首先需要下载POI的包,可以到apache 的官方网站下载,地址为:https://www.sodocs.net/doc/dd16507669.html,/jakarta/poi/,本书采用的是 poi-2.5.1-final-20040804.jar,读者可以下载当前的稳定版本。把下载的包按照前面介绍的方式加入Build Path,然后新建一个ch7.poi包,并创建一个ExcelReader类。 ExcelReader类可以读取一个XLS文件,然后将其内容逐行提取出来,写入文本文件。其代码如下。 代码7.6 public class ExcelReader {

相关主题