e股脑电脑教程网
  • 首 页
  • 操作系统
  • 应用软件
  • 下载工具
  • 影音视频
  • 办公软件
  • 媒体制作
  • 网站建设
  • 平面设计
  • 数据库
  • 程序开发
  • 视频教程
编辑推荐: | 文章搜索:
您现在的位置: e股脑 >> 程序开发 >> JSP教程 >> 利用JAVA操作EXCEL文件(JAVA EXCEL API) >> 教程正文
 
教程搜索
 
 
相关教程
  • JSP分页技术实现
  • 使用XML封装数据库操作语句的实现(完
  • 结合”XML封装数据库操作语句的实现”
  • 如何使用XML实现多渠道接入网站的构架
  • 深入浅出taglib
  • 在JSP中编写你的第一个Tag
  • 用Java实现Web服务器
  • 如何利用xml,javascript绕开apple
  • 缓存JSP显示的内容
  • 关于JAVA的分页查询操作技术
  • 漫步j2ee之jsp技术(1)
  • 漫步j2ee之jsp技术(2)
  • Portlet应用开发(Portlet Specs v1.0)
  • 如何用jsp输出存在于oracle数据库Blob
  • Servlet设计
  • 用servlet显示图片
 
 

图文教程


  • Windows抢了谁的饭碗 非主流操作系统To

  • 地球还是火星 平常心看“非主流”

  • 综合运用Office 2007批量制作奖状

  • 没有系统盘如何才能修复受损系统?

  • 巧妙运用Excel中边界的附加功能!
 
 
赞 助 商
 
 
利用JAVA操作EXCEL文件(JAVA EXCEL API)
  • 来源:e股脑
  • 点击次数:
  • 更新时间:2007-8-9

参考文章:http://www-128.ibm.com/developerworks/cn/java/l-javaExcel/index.html

作了一些相应的扩充(读取图片等)

JAVA EXCEL API简介

Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。

提供以下功能:

  • 从Excel 95、97、2000等格式的文件中读取数据;
  • 读取Excel公式(可以读取Excel 97以后的公式);
  • 生成Excel数据表(格式为Excel 97);
  • 支持字体、数字、日期的格式化;
  • 支持单元格的阴影操作,以及颜色操作;
  • 修改已经存在的数据表;
  • 能够读取图表信息

1.应用示例:

包括从Excel读取数据,生成新的Excel,以及修改Excel

package common.util;

import jxl.*;

import jxl.format.UnderlineStyle;

import jxl.write.*;

import jxl.write.Number;

import jxl.write.Boolean;

import java.io.*;

/**

* Created by IntelliJ IDEA.

* User: xl

* Date: 2005-7-17

* Time: 9:33:22

* To change this template use File | Settings | File Templates.

*/

public class ExcelHandle

{

public ExcelHandle()

{

}

/**

* 读取Excel

*

* @param filePath

*/

public static void readExcel(String filePath)

{

try

{

InputStream is = new FileInputStream(filePath);

Workbook rwb = Workbook.getWorkbook(is);

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


Sheet st = rwb.getSheet("original");

Cell c00 = st.getCell(0,0);

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

String strc00 = c00.getContents();

//获得cell具体类型值的方式

if(c00.getType() == CellType.LABEL)

{

LabelCell labelc00 = (LabelCell)c00;

strc00 = labelc00.getString();

}

//输出

System.out.println(strc00);

//关闭

rwb.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

/**

* 输出Excel

*

* @param os

*/

public static void writeExcel(OutputStream os)

{

try

{

/**

* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,

* 因为类WritableWorkbook的构造函数为protected类型

* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));

* method(2)如下实例所示 将WritableWorkbook直接写入到输出流

*/

WritableWorkbook wwb = Workbook.createWorkbook(os);

//创建Excel工作表 指定名称和位置

WritableSheet ws = wwb.createSheet("Test Sheet 1",0);

//**************往工作表中添加数据*****************

//1.添加Label对象

Label label = new Label(0,0,"this is a label test");

ws.addCell(label);

//添加带有字型Formatting对象

WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);

WritableCellFormat wcf = new WritableCellFormat(wf);

Label labelcf = new Label(1,0,"this is a label test",wcf);


ws.addCell(labelcf);

//添加带有字体颜色的Formatting对象

WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,

UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);

WritableCellFormat wcfFC = new WritableCellFormat(wfc);

Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);

ws.addCell(labelCF);

//2.添加Number对象

Number labelN = new Number(0,1,3.1415926);

ws.addCell(labelN);

//添加带有formatting的Number对象

NumberFormat nf = new NumberFormat("#.##");

WritableCellFormat wcfN = new WritableCellFormat(nf);

Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);

ws.addCell(labelNF);

//3.添加Boolean对象

Boolean labelB = new jxl.write.Boolean(0,2,false);

ws.addCell(labelB);

//4.添加DateTime对象

jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());

ws.addCell(labelDT);

//添加带有formatting的DateFormat对象

DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");

WritableCellFormat wcfDF = new WritableCellFormat(df);

DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);

ws.addCell(labelDTF);

//添加图片对象,jxl只支持png格式图片

File image = new File("f:\\2.png");

WritableImage wimage = new WritableImage(0,1,2,2,ima

1 2 下一页
  • 上一篇教程: jdk5.0 在linux下字体文件的处理(设置默认字体)
  • 下一篇教程: JSP vs JSP @ JDJ
  •  

    关于本站 | 广告联系 | 版权声明 | 使用帮助

    Copyright © 2004-2008 www.egunao.com All rights reserved.