利用java如何读取Excel中的数据

利用java如何读取Excel中的数据
利用java如何读取Excel中的数据

利用java如何读取Excel中的数据!

新一篇: Oracle优化方针!

利用java读取Excel中的数据!

使用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数据表的访问。

Java Excel API 文档

https://www.360docs.net/doc/d014702876.html,/jexcelapi/

1.应用示例:

如何从Excel读取数据:

package com.etong.allen;

import java.io.*;

import java.util.*;

import com.roger.util.StringUtil;

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

/**

*

Title:

*

Description: Excel数据导入到oracle数据库类.

*

*

Copyright: Copyright (c) 2004

*

Company: 易通技术有限公司

* @author Allen

* @version 1.0

*/

public class ExcelImportOracle {

/**

* 用于返回三维数组的ArrayList.

*/

private static ArrayList subdata = new ArrayList();

/**

* Excel中的表名.

*/

private static String tablename;

/**

* 文件的路径

*/

private static String filePath;

/**

* 该方法为完成读取Excel中的数据并将数据插入到对应的数据库表中的操作(在调用前需要先调用setFilePath(String)这个方法.).

* @author Administrator

* @param data:读取Excel中的数据的数组.

* @deprecated:将读取Excel中的数据插入到对应的数据库表中. *

*/

public static void ExcelDataImportOracle(String filePath) throw

s Exception {

try {

ArrayList al = readExcel(filePath);

InsertData(al);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 读取Excel中的数据.将这些数据放入到一个三维数组中.

* @author Administrator

* @param filePath 文件路径.

* @deprecated:读取Excel中的数据将它放入到ArrayList数组中(此为三维数组).

*/

public static ArrayList readExcel(String filePath) {

try {

subdata.clear();//将静态ArrayList数组清空.(如果不清空原数据会不断累加)

InputStream is = new FileInputStream(filePath);

Workbook rwb = Workbook.getWorkbook(is);

// Sheet st = rwb.getSheet(0);//这里有两种方法获取sheet表,1为名字,而为下标,从0开始

// Sheet st = rwb.getSheet("Book1");// Excel中第一页的页名称.

Sheet st[] = rwb.getSheets();// 得到所有Excel中页的列表.

for (int a = 0; a < st.length; a++) {

ArrayList alList = new ArrayList();

ArrayList tablenames = new ArrayList();

ArrayList tableAndContents = new ArrayList();

tablename = st[a].getName().trim();

int b = 0;

for (int i = 1; i < st[a].getRows(); i++) {

ArrayList al = new ArrayList();

for (int j = 0; j < st[a].getColumns(); j++) {

Cell c00 = st[a].getCell(j, i);

// 通用的获取cell值的方式,返回字符串

String strc00 = StringUtil.toISO(c00.getContents().trim());

// 获得cell具体类型值的方式得到内容.

al.add(j, strc00);

}

alList.add(b, al);

b++;

}

tablenames.add(tablename);

tableAndContents.add(0, tablenames);

tableAndContents.add(1, alList);

subdata.add(a, tableAndContents);

}

rwb.close();

// 关闭

//System.out.println(subdata);// 输出

} catch (Exception e) {

e.printStackTrace();

}

finally

{

//删除上传文件

File file = new File(filePath);

boolean result = false;

if(file.exists())

{

result = file.delete();

}

else

{

System.out.println("文件没有找到,无法删除!");

}

if(result)

{

System.out.println("删除成功!");

}

else

{

System.out.println("删除失败!");

}

}

return subdata;

}

/**

* 将读取的Excel的三维数组数据进行对应的数据库表插入操作.

* @author Administrator

* @param data:读取Excel中的数据的数组.

* @deprecated:将读取Excel中的数据插入到对应的数据库表中.

*/

private static void InsertData(ArrayList data) {

try {

String tablename;

ArrayList Contents = new ArrayList();

for (int i=0; i

tablename = ((ArrayList)((ArrayList)data.get(i)).get(0)).get(0). toString();

Contents = (ArrayList)((ArrayList)data.get(i)).get(1);

WfdefineDateOperate.currecorde(tablename,Contents);

}

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 得到文件路径;

* @return filePath

*/

public String getFilePath() {

return filePath;

}

/**

* 设置文件路径的位置;

* @param filePath

*/

public void setFilePath(String filePath) {

ExcelImportOracle.filePath = filePath;

}

/**

* 将readExcel方法读出来的三维数组数据转换成二维数组数据.

* @param al

* @return返回二维数组数据.

*/

public static ArrayList getDisplayData(ArrayList al)

{

ArrayList result = new ArrayList();

for(int i = 0;i < al.size();i ++)

{

ArrayList tmp = (ArrayList)((ArrayList)al.get(i)).get(1);

for(int j = 0;j < tmp.size();j ++)

{

result.add(tmp.get(j));

}

}

return result;

}

/**

* @param args

*/

public static void main(String[] args) {

}

}

发表于 @ 2006年07月21日 10:20:00|评论(loading... )|编辑

旧一篇: 关于Excel中的数据如何导入到oracle数据库中.

评论

#xuewei2007 发表于2008-02-18 14:43:42 IP: 168.160.249.*

您好!

新年快乐!

看了你的这篇文章后,自己也尝试着操作,可是没有成功.请问可不可以留

下联系,便于请问.

MSN :xuewei2007@https://www.360docs.net/doc/d014702876.html,

2008-02-19 08:46:15作者回复

我现在很少上MSN,不过blog我经常来,我的

MSN:apicescn@https://www.360docs.net/doc/d014702876.html,

#xuewei2007 发表于2008-02-18 14:50:07 IP: 168.160.249.*

想问你下,就是在那个InsertData方法

for (int i=0; i

tablename =

((ArrayList)((ArrayList)data.get(i)).get(0)).get(0).toString();

Contents = (ArrayList)((ArrayList)data.get(i)).get(1);

WfdefineDateOperate.currecorde(tablename,Contents);

}

WfdefineDateOperate这个是怎么用的,它有什么作用呢?等待您的解答.

2008-02-19 08:45:20作者回复

此类的currecorde方法的作用就是将Contents数据持久化到tablename

表中。我写的是静态方法直接调用即可!

#xuewei2007 发表于2008-02-19 13:39:59 IP: 168.160.249.*

其实我已经想到了你这个应该是起的这么个作用的,

如果方便的话,可以将你的那个WfdefineDateOperate类,也就是你数据

持久化的这个过程给我看看吗?

2008-02-20 09:27:49作者回复

此类涉及数据持久化底层操作,内容较多,请见谅!

#xuewei2007 发表于2008-02-19 13:45:26 IP: 168.160.249.* 还有我还有其他的问题,就是我发现,好象在读取数据的时候,始终是从第二行数据开始读的,不知道你碰到这个问题没?

另外你这里的getDisplayData()这个方法,好象没用上?

2008-02-20 09:24:44作者回复

getDisplayData()方法是提供其他地方所用,此方法是返回Excel的数据内容,而不进行持久化操作,可用于WEB层显示数据所用。

另外关于你讲的从第二行读数据是由于for (int i = 1; i <

st[a].getRows(); i++) 此处i=1的原因,你修改成0就行了,因为一般情况下第一行为标题,固而不需读,当然这得成一种规则约定才行。

#xuewei2007 发表于2008-02-20 09:56:29 IP: 168.160.249.* 哦,谢谢啊!

我自己现在是将数据一行行的读出来(一条记录),然后把它封装成一个

JAVABEAN对象,然后传到我的持久层进行操作的.

谢谢啊,又学了点东西.

#xuewei2007 发表于2008-02-20 16:52:24 IP: 168.160.249.* 我想问下,你的数据到底层,持久层时,你操作的一个基本思想,可以透露

吗?

2008-02-21 09:03:02作者回复

思想其实很简单,就是将Excel中读取的数据存入到tablename中去,关于如何写:就是读取一行一行的数据,然后进行插入到tablename表中,循环完成所有的数据即可了!

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

Java实现Excel数据导入导出的研究与应用 王晶晶 北京邮电大学网络教育学院(100088) E-mail:bolalisi_double@https://www.360docs.net/doc/d014702876.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];

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文件为例,做一个简单的读取操作,程序代码如下:

.NET页面数据导出excel表方法

public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); string colHeaders= "", ls_item=""; int i=0; //定义表对象与行对像,同时用DataSet对其值进行初始化 DataTable dt=ds.Tables[0]; DataRow[] myRow=dt.Select(""); // typeid=="1"时导出为EXCEL格式文件;typeid=="2"时导出为XML格式文件if(typeid=="1") { //取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符for(i=0;i colHeaders+=dt.Columns[i].Caption.ToString()+"\t"; colHeaders +=dt.Columns[i].Caption.ToString() +"\n"; //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach(DataRow row in myRow) { //在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n for(i=0;i ls_item +=row[i].ToString() + "\t"; ls_item += row[i].ToString() +"\n"; //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 resp.Write(ls_item); ls_item=""; } } else { if(typeid=="2") { //从DataSet中直接导出XML数据并且写到HTTP输出流中 resp.Write(ds.GetXml()); } } //写缓冲区中的数据到HTTP头文件中 resp.End(); }

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.360docs.net/doc/d014702876.html,ermodel.HSSFCell; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFRow; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/d014702876.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();

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.360docs.net/doc/d014702876.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;

用Excel获取网页内容的方法

在浏览网页时,你一定会不时看到一些需要保存的数据信息。这些信息或许是一个完整的表格,或许是一段文字,如果要保存这类信息,我们常用的方法就是拖动鼠标,选中这些信息,然后用Ctrl+C组合键复制文字,然后再保存到Word、Excel当中去。 这样的步骤算不上麻烦,但如果要求你在一个个内容丰富的大网页(比如新浪、网易、Sohu首页)中频繁地复制、粘贴,一定会让你感到疲劳和浪费时间。有什么好办法呢?用“Ctrl+A”全选后复制所有文字?粘贴后你会发现麻烦更大,因为所有文字都堆在一起了!下面,理睬教你一种方便的方法。 实例:抓取新浪首页不同位置内容 第一步:打开IE,访问理睬博客首页https://www.360docs.net/doc/d014702876.html,/ 。 第二步:在网页左侧或右侧的空白处点击鼠标右键,在菜单中选择“导出到Microsoft Office Excel”。注意,不要在文字链接之间的空白处点右键,而是应该在完全没有任何网页内容的地方点右键。 第三步:这时Excel会启动,并出现一个“新建Web查询”的窗口。稍等片刻,等待这个窗口中显示出了完整网页,左下角会出现“完毕”字样。注意观察网页,你会发现网页被分割成了很多小的表格,每个表格的左上角有一个小的箭头标志。 第四步:双击窗口最上方标题栏,最大化窗口。依次找到要收藏的内容,然后按下该位置左上角的箭头,使它变成绿色的对勾。然后按下下方的“导入”按钮。 第五步:在弹出窗口中选择放置位置,然后按下“确定”按钮,文字、表格信息就可以自动导入Excel 了。字体格式、颜色自动处理为Excel默认的样式,表格也会被放到适当的单元格中。这样,就有效避免了直接复制粘贴网页造成一些无法识别的格式、链接信息加入网页,同时提高了导入速度。 你知道吗? 如何不将网页格式带入Office文档中? 当你在浏览器中复制一段内容,然后粘贴到Word、Excel中,会将一些网页格式直接照搬进来,这可能不是我们希望的,因为它会增大文件体积,也不利于加工整理。其实,你只要不用“Ctrl+V”来粘贴,而是选择Word、Excel中的“编辑→选择性粘贴→文本”来进行粘贴就可以了。

java读取和写入EXCEL文件

java读取和写入Excel文件 在Java中读取Excel文件的内容 在这里,我使用的是一个叫Java Excel API的东西,类似的还有jakarta的POI,不过感觉那个太复杂了点儿。而且jxl对中文的支持相当的好,至少我在用的过程中一点问题没出。 一、下载地址 [url]https://www.360docs.net/doc/d014702876.html,/jexcelapi/[/url] 二、特性 可以读取Excel 95, 97, 2000文件 可以读或写Excel 97及其以后版本的的公式(不过我发现好像有bug) 生成Excel 97格式的电子表格 支持字体、数字和日期格式化 支持单元格的颜色和阴影 可以编辑现有的文件 三、读文件 //声明一下,记得后面要关闭哦。。 Workbook workbook = null; try { workbook = Workbook.getWorkbook(new File("d:\\temp\\TestRead.xls")); } catch (Exception e) { throw new Exception("file to import not found!"); } Sheet sheet = workbook.getSheet(0); Cell cell = null; int columnCount=3; int rowCount=sheet.getRows(); for (int i = 0; i

网页数据如何简单导出excel

https://www.360docs.net/doc/d014702876.html, 网页数据如何简单导出excel 在浏览网页时,遇到我们需要的网页数据时,如文字、图片等,如何能简单的导出到Excel 中,方便在本地电脑中查看和编辑呢?当然是有办法的啦!下面就为大家介绍几种简单快速的将网页数据导出到Excel的方法,大家可以灵活运用。 一、通过浏览器导出网页数据 具体操作:打开某网页后,右键点击网页空白处,在下拉列表中选择“另存为”,然后在弹出的保存窗口中选择保存类型为“网页全部”。选择保存位置后确定,保存后就会自动保存两个文件,一个是网址,另一个是保存网页内容元素。 如何导出网页数据,以赶集网采集为例图1

https://www.360docs.net/doc/d014702876.html, 二、通过网页数据采集器导出网页数据 先通过网页数据采集器,将网页数据采集下来,然后再导出为需要的格式即可。本文使用的是操作简单、功能强大的八爪鱼采集器。以下是一个八爪鱼采集并导出网页数据的完整示例。示例中采集的是赶集网上房产-商铺-深圳-南山分类下的所有商铺信息。 示例网站:https://www.360docs.net/doc/d014702876.html,/fang6/nanshan/ 步骤1:创建采集任务 1)进入主界面,选择“自定义模式” 如何导出网页数据,以赶集网采集为例图2 2)将要采集的网址URL,复制粘贴到网址输入框中,点击“保存网址”

https://www.360docs.net/doc/d014702876.html, 如何导出网页数据,以赶集网采集为例图3 步骤2:创建翻页循环 1)在页面右上角,打开“流程”,以展现出“流程设计器”和“定制当前操作”两个板块。将页面下拉到底部,点击“下一页”按钮,在右侧的操作提示框中,选择“循环点击下一页”

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 Excel API 实现对Excel表格的读写更新

http:https://www.360docs.net/doc/d014702876.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开始

Excel轻松提取网上数据

网上信息采集工作,最头疼的便是从网页上一次次很枯燥地进行数据表格的复制,而且在复制过来之后还要进行很多修改,不但麻烦而且也很浪费时间,工作效率大打折扣。这时我们不妨用功能强大的Excel来试着解决一下问题。 对于比较规范的表格数据,我们完全可以在表格页面上点击右键,选择"导出到Microsoft Office Excel"(图1),此时系统会自动打开Office Excel,进行数据加载。这个过程仅需要几秒钟就把数据加载进来(图2)。如果你认为数据比较适合你的编辑要求,那么就可以直接保存了。否则,也可以做一下适当的修改,因为在表格处理方面,Excel要大大优于word。 图1 在网上表格或数据采集这一点上,Excel往往是较为智能化的,它在进行数据采集与加载时,只加载表格固定区域内的数据,而不是把整个网页都加载进来。这一点我试过很多次,都是很听话的,请看图片2的效果。

图2 当然,在网页中也有一些不太规范的数据与表格,这样的数据,Excel处理起来,稍稍有一点难度,不过只要熟悉Excel 的操作功能的话,还是可以轻松搞定的。先看一下这个页面(图3), 图3 图3这种不规范的页面数据,如果让Excel处理起来就会出现这样的结果(图4),看着是不是感觉很乱,所有的东西都错位了,一般的人会感到速手无策的。主要原因就是多出了文件数据的开头与结尾。

图4 不过,只要我们删除文件上下两头的不规范的区域,剩下的这些数据不就变得好处理了吗?这时,我们再执行一下菜单:"数据――分列――下一步",这样就可以把不规范的数据变得规范了。这是处理之后的结果(图5) 图5 对于那些本来就比较规范的表格,就简单得多了,只要执行"导出加载――略修――保存"就可以了。

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

package https://www.360docs.net/doc/d014702876.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.360docs.net/doc/d014702876.html,ermodel.HSSFCell; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFFont; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFRichTextString; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFRow; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFWorkbook; import org.apache.poi.hssf.util.Region; import https://www.360docs.net/doc/d014702876.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;

html页面表格导出到excel总结

html页面表格导出到excel总结 最近一个项目需要把报表的表格导入excel,在网上找了一些方法,比较研究了一下,记在这里,备忘。 表格例子如下:

html 表格导出道Excel td> tr>
列标题1td> 列标题2td> 类标题3td> 列标题4td> 列标题5td> tr>
aaa td> bbb td> ccc td> ddd td> eee td> tr>
AAA td> BBB td> CCC td> DDD td> EEE td>

tr>

FFF td> GGG td> HHH td> III td> JJJ td> tr> table> 1、js的方法 A、将整个表格拷贝到EXCEL中 function method1(tableid) { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); oXL.Visible = true; } B、读取表格中每个单元到EXCEL中: function method2(tableid)

java实现excel导入导出

Java数据导入Excel package com.bossy.base; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.UnderlineStyle; import https://www.360docs.net/doc/d014702876.html,bel; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFCell; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFCellStyle; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFRow; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem;

jsp页面内容导出到Excel中

jsp页面内容导出到Excel中 日常使用网络资源时经常需要把网页中的内容下载到本地,并且导出到Excel中,现在介绍一种非常简单的方式实现网络资源的下载。只需要讲jsp的最上面加上一句话 <% response.reset(); response.setContentType("application/vnd.ms-excel;charset=GBK"); %> 就可以将网页的内容导出为Excel。 目前给出的例子为了方便起见,就是使用了纯粹的静态页面,一个table其中有一行是标题,一行是内容,但是实际使用中不可能这么简单,都是保持静态的内容,如果需要保存的内容是从数据库中取出,则只需要循环遍历取出的内容,添加行就行了,假如从数据库中取出的数据存入UserList 中,可以使用struts标签进行遍历如下:

Java使用POI操作Excel并创建下拉框

Java使用POI操作Excel并创建下拉框Java代码 package poiexcel; import java.io.FileOutputStream; import java.util.Date; import https://www.360docs.net/doc/d014702876.html,ermodel.DVConstraint; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFCell; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFDataValidation; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFRow; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFSheet; import https://www.360docs.net/doc/d014702876.html,ermodel.HSSFWorkbook; import org.apache.poi.hssf.util.CellRangeAddressList; public class POI { public static void main(String [] args) { String [] list={"东软","华信","SAP","海辉"}; new POI().createListBox(list); return; } public void createListBox (String [] list) {

//文件初始化 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); //在第一行第一个单元格,插入下拉框 HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell(0); //普通写入操作 cell.setCellValue("请选择");//这是实验 //生成下拉列表 //只对(0,0)单元格有效 CellRangeAddressList regions = new CellRangeAddressList(0,0,0,0); //生成下拉框内容 DVConstraint constraint = DVConstraint.createExplicitListConstraint(list); //绑定下拉框和作用区域 HSSFDataValidation data_validation = new HSSFDataValidation(regions,constraint); //对sheet页生效 sheet.addValidationData(data_validation); //写入文件 FileOutputStream fileOut; try { fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut);

java读取上传excel文件和txt文件中的数据

Java 读取上传文件里的数据,记事本文件和excel文件 本文,文本文件里的数据,每列以 Tab 分隔。 其它分隔符情况下,只需修改对分隔符的判断即可 本文是将文本文件或excel文件里的数据读到List 里。 List , List, ........可以改为返回其它类型的数据集 UpLoadExcel 类里需要操作excel的 jar包 import org.apache.poi.* ; 网上可以搜索下载,简单快捷 ---------------------------------------------------------------------------- - - - public class upLoadAction extends DispatchAction { public ActionForward doAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TestForm myForm = (TestForm) form; FormFile f = myForm.getUpfisle(); //get上传文件 String fileName = f.getFileName(); // 截取文件名的后三位字符 String fileType = fileName.substring(fileName.length()-3,fileName.length()); System.out.println("导入的文件名:"+fileName+"\t 文件后缀名:"+fileType); List list = new ArrayList(); if("xls".equals(fileType)){ // 上传文件是excel时文件文件后缀名为xls list = new UpLoadExcel().getExcelData(f.getInputStream()); }else if("txt".equals(fileType)){ list = new UploadText().UploadText(f.getInputStream()); } // 操作读取出来的数据,例如: if (list.size() > 0) { String[] str = null; for(int i = 0; i < list.size(); i++) { str = list.get(i); st = "insert into student (sName,sAge,sAddress,sTelephone) values(" ; st = "'" + st + str[0] + "'"; st = ",'" + st + str[1] + "'"; st = ",'" + st + str[4] + "'"; st = ",'" + st + str[6] + "'"; st = st + ")"; ...... System.out.println(st);

html页面表格导出到excel总结守望轩

html页面表格导出到excel总结,|,守 望轩 篇一:html页面表格导出到excel总结 html页面表格导出到excel总结 最近一个项目需要把报表的表格导入excel,在网上找了一些方法,比较研究了一下,记在这里,备忘。 表格例子如下: html 表格导出道Exceltd> tr> 列标题1td> 列标题2td> 类标题3td> 列标题4td> 列标题5td> tr>

aaatd> bbbtd> ccctd> dddtd> eeetd> tr> AAAtd> BBBtd> CCCtd> DDDtd> EEEtd> tr> FFFtd> GGGtd>

HHHtd> IIItd> JJJtd> tr> table> 1、js的方法 A、将整个表格拷贝到EXCEL中function method1(tableid) { var curTbl = (tableid); var oXL = new ActiveXObject(""); var oWB = (); var oSheet = ; var sel = (); (curTbl); (); ("Copy"); ();

} B、读取表格中每个单元到EXCEL中:function method2(tableid) { var curTbl = (tableid); var oXL = new ActiveXObject(""); var oWB = (); var oSheet = ; var Le = ; for (i = 0; i { var Lenc = (i).; for (j = 0; j { (i + 1, j + 1).value = (i).cells(j).innerText; } }

相关文档
最新文档
清单
姓名 年龄 性别 住址