`
gdzhljw
  • 浏览: 98417 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论
阅读更多

WebLogic教程

:在WebLogic Server中集成Apache Poi
--Apache Jakarta POI项目提供了访问和生成Excel文档的组件



时间:2006-05-17
作者:Ajay VohraDeepak Vohra
浏览次数: 5948
本文关键字:ApachePoiApache PoiWebLogic ServerExcel


文章工具
推荐给朋友 推荐给朋友
打印文章 打印文章

<!---->

  Apache Jakarta POI项目提供了用于访问和生成Excel文档的组件。POI HSSF API用于生成Excel Workbook以及将Excel电子表格添加到workbook。Excel电子表格由行和单元格组成。电子表格的页面布局和字体也使用POI HSSF API进行设置。

  通常要求将数据库表呈现在Excel电子表格中。同样,开发人员的需求也可以保存到数据库表中的Excel电子表格中。Apache POI HSSF项目旨在提供一个创建Excel电子表格的API。使用POI HSSF项目生成的Excel电子表格中的数据可以是XML文档中的静态数据,或者是从一个数据库中动态检索到的数据。此外,Excel文档也可以被转换为XML文档或者保存在数据库中。在本教程中,我们将讨论在WebLogic Server中从一个MySQL数据库表创建Excel电子表格的步骤,随后将该Excel电子表格保存在一个数据库表中。

初步设置

  org.apache.poi.hssf.usermodel包提供POI HSSF项目的实现。要生成或解析Excel电子表格,需要在类路径中设置org.apache.poi.hssf.usermodel包类。下载Apache POI库poi-bin-2.5.1-final-20040804.zip文件,将该zip文件解压缩所到一个安装目录(http://jakarta.apache.org/poi/)。安装WebLogic Server 8.1。下载MySQL数据库(www.mysql.com)。解压缩MySQL zip文件mysql-4.0.25-win32.zip到一个目录下。安装MySQL数据库。下载MySQL Connector/J JDBC驱动程序(www.mysql.com/products/connector/j/)。解压缩MySQL zip文件mysql-connector-java-3.1.10.zip到一个目录下。添加MySQL JDBC驱动程序jar文件mysql-connector-java-3.1.10-bin.jar到<weblogic81>\samples\domains\examples\startExamplesServer脚本CLASSPATH变量。

  使用下面的DOS命令登录到MySQL数据库:

  >mysql

  使用下面的命令访问示例数据库测试:

  mysql>use test

  在MySQL数据库中创建一个示例数据库表,将在此生成Excel电子表格。清单1展示了创建示例表Catalog的SQL脚本。

  清单1:Catalog.sql

CREATE TABLE Catalog(CatlogId VARCHAR(25)
PRIMARY KEY, Journal VARCHAR(25), Section VARCHAR(25),
 Edition VARCHAR(25),  Title Varchar(125), Author Varchar(25));

INSERT INTO Catalog VALUES('catalog1', 'dev2dev',
'WebLogic Platform 8.1',
'Oct 2004',  'BEA WebLogic Platform 8.1 SP3 Evaluation Guide',
'dev2dev');

INSERT INTO Catalog VALUES('catalog2', 'dev2dev',
 'WebLogic Server',
 'Feb 2005',  'Application Architecture for Applications Built on
 BEA WebLogic Platform 8.1', 'Bob Hensle');

INSERT INTO Catalog VALUES('catalog3', 'dev2dev',
'WebLogic Integration',
'March 2005',  'The BEA WebLogic Platform and Host Integration',
'Tom Bice');

  接下来,我们将向WebLogic Server Classpath添加Apache POI .jar文件,并在WebLogic Server中创建一个JDBC数据源来检索用于Excel电子表格的数据。

  添加poi-2.5.1-final-20040804.jar文件到<weblogic81>\samples\domains\examples\startExamplesServer脚本中的CLASSPATH变量中。<weblogic81>是安装WebLogicServices>JDBC>ConnectionServices>JDBC>DataSources节点,并选择Configure a new JDBCTxDataSource。在Configure the data source框中指定数据源名和JNDI名——例如,MySqlDS。在Connect to connection pool框中选择先前使用MySQL数据库配置的连接池。在Target the datasource框中选择examplesServer。这样就使用MySQL数据库配置了一个数据源。

使用Apache POI生成Excel文档

  在这一节中,我们将从示例数据库表生成Excel电子表格。首先,创建一个生成Excel电子表格的JSP应用程序。

  在JSP中,将从一个MySQL数据库表创建Excel电子表格。使用Apache POI HSSF API来生成Excel电子表格。Apache POI HSSF包中含有用于Excel电子表格的不同组件的类。表1列出了Apache POI HSSF包中一些常用的类:

使用Apache POI生成Excel文档

  首先,导入Apache POI HSSF包:

  <%@ page import="org.apache.poi.hssf.usermodel.*,  java.sql.*,
  java.io.*,javax.naming.InitialContext"%>
创建一个Excel workbook:

  HSSFWorkbook wb=new HSSFWorkbook();

  接下来,创建一个Excel电子表格:

  HSSFSheet sheet1=wb.createSheet("sheet1");

  该电子表格的数据是从MySQL数据库表检索得到的。从数据库获得JDBC连接。JDBC连接是使用datasource JNDI MySqlDS获得的。

  InitialContext initialContext = new InitialContext();
  javax.sql.DataSource ds = (javax.sql.DataSource)
  initialContext.lookup("MySqlDS");
  java.sql.Connection conn = ds.getConnection();

  创建一个java.sql.Statement,并从示例表Catalog获得结果集:

  Statement stmt=conn.createStatement();
  ResultSet resultSet=stmt.executeQuery("Select * from Catalog");

  为Excel电子表格创建一个标题行。Excel电子表格中的行从“0”开始。

  HSSFRow row=sheet1.createRow(0);

  对应于表的列设置标题行单元格的值。行单元格也是从“0”开始。例如,行中第一个单元格的值被使用setCellValue方法设置为CatalogId。

  row.createCell((short)0).setCellValue("CatalogId");

  要向电子表格添加行,迭代结果集并为每个表格行添加一行。从ResultSet检索列值,并在行单元格中设置这些值。

for (int i=1;resultSet.next(); i++)
         {
     row=sheet1.createRow(i);
row.createCell((short)0).setCellValue(resultSet.getString(1));
row.createCell((short)1).setCellValue(resultSet.getString(2));
row.createCell((short)2).setCellValue(resultSet.getString(3));
row.createCell((short)3).setCellValue(resultSet.getString(4));
row.createCell((short)4).setCellValue(resultSet.getString(5));
} 

  创建一个FileOutputStream来将Excel电子表格输出到XLS文件。每个XLS文件表示一个Excel电子表格:

  FileOutputStream output=new文件OutputStream(new文件("c:/excel/catalog.xls"));

  将Excel电子表格输出到XLS文件:

  wb.write(output);

  在“参考资料”部分有用于生成Excel电子表格的ExcelWebLogic.jsp JSP。

  要在WebLogic Server中运行ExcelWebLogic.jsp JSP,复制该JSP到<weblogic81>\samples\server\examples\build\mainWebApp目录。使用URL http://localhost:7001/ExcelWebLogic.jsp运行该JSP。

  生成的Excel电子表格可以在Excel (http://office.microsoft.com/en-us/FX010858001033.aspx)或Excel Viewer工具tool (http://office.microsoft.com/en-us/assistance/HA011620741033.aspx)中打开。

将Excel文档保存在数据库表中

  本节我们将使用Apache POI API将一个Excel电子表格保存在MySQL数据库表中。要保存的示例Excel文档是catalog.xls,即,前一节所生成的电子表格。该Excel电子表格被保存在MySQL表Catalog中。使用MySQL命令删除前一节中用于生成Excel文档的Catalog表:

  MySQL>DROP table Catalog;

  开发一个JSP应用程序来将示例Excel文档保存在MySQL数据库中。在JSP应用程序中导入Apache POI包org.apache.poi.poifs.filesystem和org.apache.poi.hssf.usermodel。org.apache.poi.poifs.filesystem包中包含创建Excel workbook的类,而org.apache.poi.hssf.usermodel包中包含表示Excel workbook、电子表格、电子表格行和行单元格的类。

  <%@ page import="org.apache.poi.poifs.filesystem.*,
  org.apache.poi.hssf.usermodel.*, java.sql.*,
  java.io.*,javax.naming.InitialContext"%>

  像前一节一样,从MySQL datasource获得JDBC连接:

  InitialContext initialContext = new InitialContext();
        javax.sql.DataSource ds =  (javax.sql.DataSource)
        initialContext.lookup("MySqlDS");
        java.sql.Connection conn = ds.getConnection();

  从JDBC连接创建java.sql.Statement:

  Statement stmt=conn.createStatement();

  创建一个MySQL表来保存Excel电子表格:

  String createTable="CREATE TABLE Catalog(CatalogId  VARCHAR(25) PRIMARY KEY,Journal
  VARCHAR(25),Section VARCHAR(25),Edition VARCHAR(25),Title Varchar(125),Author  Varchar(25))";
  stmt.execute(createTable);

  创建一个POIFSFileSystem来读取Excel文档:

  File catalogExcel=new File("C:/ExcelWebLogic/catalog.xls");
  FileInputStream inputStream=new FileInputStream(catalogExcel);
  POIFSFileSystem fileSystem=new POIFSFileSystem(inputStream);

  从POIFSFileSystem获得一个HSSF workbook:

  HSSFWorkbook wb=new HSSFWorkbook(fileSystem);

  从Excel workbook获得一个Excel电子表格:

  HSSFSheet sheet1=wb.getSheet("sheet1");

  使用row iterator迭代电子表格中的行:

  java.util.Iterator rowIterator=sheet1.rowIterator();
  HSSFRow row=(HSSFRow)rowIterator.next();

  对于每一行,迭代行单元格的值。例如,CatalogId行单元格值是使用以下代码检索的:

  String catalogId=row.getCell((short)0).getStringCellValue();

  对于Excel电子表格中的每一行,添加一个表格行:

String exceltable="INSERT INTO Catalog VALUES("+"\'"+catalogId+"\
'"+","+"\'"+journal
+"\'"+","+"\'"+section+"\'"+","+"\'"+edition+"\'"+","+"\'"+title+"\
'"+","+"\'"+author+"\'"+")";
stmt.execute(exceltable); 

  复制POIWebLogic.jsp到<weblogic81>\samples\server\examples\build\mainWebApp目录。使用URL http://localhost:7001/POIWebLogic.jsp运行JSP。这样就从Excel电子表格生成一个MySQL数据库表。在“参考资料”部分有用于从Excel电子表格生成数据库表的POIWebLogic.jsp。

结束语

  在本教程中,我们从一个MySQL数据库表生成了一个Excel电子表格,随后将该电子表格保存在一个数据库表中。WebLogic Server提供了一个数据源以及运行JSP应用程序的J2EE应用服务器,从而方便了从数据库表到Excel电子表格以及从电子表格到数据库表的转换。

原文出处:http://wldj.sys-con.com/read/185302.htm

<!---->
 作者简介
Ajay Vohra是Compuware 公司的一名高级软件工程师。
Deepak Vohra 是一名NuBean顾问兼web开发人员。他拥有Sun Certified Java 1.4 Programmer和Sun Certified Web Component Developer for J2EE证书。
dot dot dot

dot
  作者其它文章
分享到:
评论

相关推荐

    weblogic 教程

    【WebLogic教程】 WebLogic是Oracle公司开发的一款企业级应用服务器,主要用于运行和管理Java EE应用程序。本教程将深入探讨WebLogic的基础问题、部署应用程序以及性能优化等方面。 ### WebLogic基础问题 1. **...

    Weblogic教程,PDF格式...

    在WebLogic教程中,我们首先会了解WebLogic Server的基本概念,包括它的架构、安装与配置过程。WebLogic Server基于服务导向架构(SOA),支持多种协议如HTTP、HTTPS、JMS等,并提供了丰富的管理工具,如WebLogic...

    Linux安装WebLogic教程

    Linux安装WebLogic教程,带截图,很详细

    weblogic教程全攻略

    《WebLogic教程全攻略》旨在为用户提供一套全面深入的WebLogic Server 10g R3管理任务实战指南。通过一系列的实践操作,用户将能够熟练掌握WebLogic Server的配置、应用部署以及在不同开发与生产模式下的操作流程。 ...

    Weblogic 教程

    Weblogic 教程

    Weblogic教程

    ### Weblogic教程知识点详解 #### 一、Weblogic安装方法 **1.1 安装简介** WebLogic Server 的安装提供了三种不同的安装方式: - **用户图形界面 (GUI)** - 在 Windows 和 Solaris 上支持图形化安装,通过直观...

    weblogic教程

    【WebLogic教程】\n\nWebLogic是Oracle公司提供的一个企业级Java应用服务器,它支持Java EE(Enterprise Edition)标准,用于开发、部署和管理基于Java的应用程序。本教程将侧重于WebLogic与一个名为WebWork的开源...

    weblogic教程.ppt

    介绍 weblogic的安装、配置、部署及与Eclipse的连接、运行

    weblogic傻瓜式安装教程

    ### WebLogic傻瓜式安装教程详解 #### 一、前言 本文档旨在提供一个简单易懂的WebLogic安装教程,适用于初次接触WebLogic或希望快速完成安装的用户。通过本教程,您将学会如何在Linux环境下进行WebLogic的安装与...

    weblogic 10官方教程

    WebLogic 10官方教程是Oracle提供的详细指导文档,涵盖了服务器的安装、配置、管理和监控等多个方面,旨在帮助用户深入理解并有效操作WebLogic Server。 1. **WebLogic服务器管理概述** 在WebLogic Server中,管理...

    weblogic自学全套教程

    【WebLogic自学全套教程】 WebLogic是Oracle公司提供的一个企业级Java应用服务器,它支持Java EE(Enterprise Edition)规范,用于构建、部署和管理企业级应用程序。本教程旨在帮助初学者全面了解并掌握WebLogic的...

    weblogic基础教程.doc

    在本教程中,我们将探讨WebLogic的基础知识,包括安装、配置、管理和集成到Eclipse开发环境。 1. **安装WebLogic Server 9.2**: 安装WebLogic Server通常涉及下载Oracle提供的安装包,然后按照向导指引完成安装。...

    Weblogic中文教程

    【Weblogic中文教程】 WebLogic Server是Oracle公司提供的一个企业级Java应用服务器,它支持Java EE(Enterprise Edition)规范,为企业构建、部署和管理分布式应用程序提供了强大的平台。本教程将全面介绍WebLogic...

    weblogic视频教程.zip

    本视频教程将深入浅出地介绍WebLogic的核心概念、安装配置、管理与运维等多个方面,帮助初学者和进阶者更好地理解和使用这一强大的中间件平台。 一、WebLogic基础 WebLogic Server是基于Java的、面向服务架构(SOA...

    Weblogic实用手册[PDF]

    weblogic 概述WebLobic Server是美国BEA公司开发的一个业界领先的应用服务器。是SUN J2EE的纯java实现。WebLogic长期以来一直被认为是市场上最好的J2EE工具之一。像数据库或邮件服务器一样,WebLogic Server对于 ...

    weblogic中文教程part3

    weblogic中文教程 讲解的很详细,感觉不错,共享出来 还有part2和part1,请搜索和下载

    Weblogic实用教程及常用技巧集锦.doc

    ### Weblogic实用教程及常用技巧集锦 #### 一、Weblogic的安装 ##### 1.1 安装简介 WebLogic Server 是一款强大的企业级应用服务器,它提供了丰富的功能来构建、部署和管理企业级应用程序。WebLogic Server 的...

    Red Hat Linux下 WebLogic安装命令

    Red Hat Linux下 WebLogic安装命令,命令行安装weblogic

    WebLogic Integration完整案例教程.rar

    这个"WebLogic Integration完整案例教程"提供了一套详尽的学习路径,帮助用户深入理解和掌握WebLogic Integration的相关技术及其在实际项目中的应用。 教程的核心内容可能涵盖了以下几个关键知识点: 1. **...

Global site tag (gtag.js) - Google Analytics