翱翔的Eagle

—— 世界上没有垃圾,只有放错了地方的财宝!

BlogJava 首页 新随笔 联系 聚合 管理
  3 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

2006年9月20日 #

package  org.eagle.jexcel;

import  jxl. * ;
import  jxl.format.UnderlineStyle;
import  jxl.write. * ;
import  jxl.write.Number;
import  jxl.write.Boolean;
import  java.io. * ;

/**
 * 
 * <p>
 * Title:
 * </p>
 * 
 * <p>
 * Description:
 * </p>
 * 
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * 
 * <p>
 * Company:
 * </p>
 * 
 * 
@author  eagle
 * 
@version  1.0
 
*/
public   class  JexcelHandle {
    
public  JexcelHandle() {
    }

    
public   static   void  writeExcel(OutputStream os) {
        
try  {
            WritableWorkbook wwb 
=  Workbook.createWorkbook(os);
            
//  创建excel工作表 镇定名称和位置
            WritableSheet ws  =  wwb.createSheet( " card sheet  " 0 );
            
//  1.添加Label对象
            Label label  =   new  Label( 0 0 " 编号 " );
            ws.addCell(label);
            Label label2 
=   new  Label( 1 0 " 冲值卡号 " );
            ws.addCell(label2);
            Label label3 
=   new  Label( 2 0 " 冲值卡密码 " );
            ws.addCell(label3);
            Label label4 
=   new  Label( 3 0 " 最晚冲值时间 " );
            ws.addCell(label4);
            Label label5 
=   new  Label( 4 0 " 冲值的面值(TC)(1RMB=100TC) " );
            ws.addCell(label5);
            Label label6 
=   new  Label( 5 0 " 是否作废 " );
            ws.addCell(label6);

            Number labelN 
=   new  Number( 0 1 3.1415926 );
            ws.addCell(labelN);
            
// 通过 记录集的方式可以得到数据库中的相关的记录
            
//  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);
            
//   // 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:\\x.png");
            
//  WritableImage wimage = new
            
//  WritableImage(0,1,2,2,image); // 0,1分别代表x,y.2,2代表宽和高占的单元格数
            
//  ws.addImage(wimage);
            
//  写入工作表
            wwb.write();
            wwb.close();
        } 
catch  (Exception e) {
            System.out.println(
""   +  e);
        }

    }



    
public   static   void  modifyExcel(File file1, File file2) {
        
try  {
            
//  先copy 在操作第二个文件修改,
            Workbook rwb  =  Workbook.getWorkbook(file1);
            WritableWorkbook wwb 
=  Workbook.createWorkbook(file2, rwb); //  copy
            WritableSheet ws  =  wwb.getSheet( 0 );
            WritableCell wc 
=  ws.getWritableCell( 0 0 );

            
//  判断单元格的类型,做出相应的转换
            Label label  =  (Label) wc;
            label.setString(
"  1 " );

            wwb.write();
            wwb.close();
            rwb.close();
        } 
catch  (Exception e) {
            e.printStackTrace();
        }
    }

    
/**
     * 读取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();
        }
    }

    
public   static   void  main(String args[]) {
        
try  {
            File fileWrite 
=   new  File( " f:/cardWrite.xls " );
            fileWrite.createNewFile();
            OutputStream os 
=   new  FileOutputStream(fileWrite);
            JexcelHandle.writeExcel(os);
            JexcelHandle.modifyExcel(
new  File( " f:/cardWrite.xls " ),  new  File(
                    
" f:/cardWrite2.xls " ));
        } 
catch  (Exception e) {
            System.out.println(e);
        }
    }

}
在网上看了写源码在结合自己的。不要忘了下载jxl包哟。http://www.andykhan.com/jexcelapi/
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="org.eagle.gz.*"%>
<%@ page import="java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
<!--
body,td,th {
    font
-size: 12px;
}
body {
    margin
-left: 0px;
    margin
-top: 0px;
    margin
-right: 0px;
    margin
-bottom: 0px;
}
-->
</style></head>

<body>

<%
try{
response.reset();
//清除Buffer
response.setContentType("application/vnd.ms-excel");
File fileWrite 
= new File("f:/testWrite.xls");
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
JexcelHandle.writeExcel(
new FileOutputStream(fileWrite));
}
catch(Exception e){
    System.out.println(e);
}
%>
</body>
</html>
也可以在jsp中运用,
群 16687185  欢迎你们的加盟。
posted @ 2006-09-20 18:16 skyeagle 阅读(2048) | 评论 (1)编辑 收藏

2006年9月12日 #

首先:修改你的数据库配置文件,我用的是数据库是oracle,修改oracle.xml

    < property  environment ="env" />

   
< property  name ="database.script.file"            value ="${src.dir}/sql/${name}-oracle.sql" />
   
< property  name ="database.driver.file"            value ="${lib.dir}/classes12.jar" />
   
< property  name ="database.driver.classpath"       value ="${database.driver.file}" />
   
< property  name ="database.driver"                 value ="oracle.jdbc.driver.OracleDriver" />
   
< property  name ="database.url"                    value ="jdbc:oracle:thin:@localhost:1521:cqeagle" />
   
< property  name ="database.userid"                 value ="eagle" />
   
< property  name ="database.password"               value ="eagle" />
   
< property  name ="database.schema"                               value ="eagle" />
   
< property  name ="database.catalog"                value ="" />
   
< property  name ="jboss.datasource.mapping"        value ="Oracle8" />
上的的配置文件得注意database.schema 属性,如果不加上这个的value值 就会抛出\build.xml:148: middlegen.
MiddlegenException: Middlegen successfully connected to the database, but couldn
't find any tables. Perhaps the specified schema or catalog is wrong? -Or maybe
there aren't any tables in the database at all? 这个异常,在就是修改build.xml文件。搜索--(entity)   改成你自己的文件路径到oracle.xml。 搜索--(airline)  把它的值改成HibernateSample  搜索---(name=build.gen-src.dir) 指向你自己的输出地址:我的是../../src 在查找destination  修改
<hibernate
            
destination="${build.gen-src.dir}"
            package
="org.eagle.hibernate"
            genXDocletTags
="true"
            genIntergratedCompositeKeys
="false"
            javaTypeMapper
="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
         
/>
这里就配置完成,进入目录启动 启动ant  …………  群16687187   希望一起讨论!
posted @ 2006-09-12 12:08 skyeagle 阅读(305) | 评论 (0)编辑 收藏

2006年9月7日 #

spring 的几种简单的注入方式
 0 以普通的方式
<bean id="some1" class="web.eagle.spring.Some">
<property name="name">
   <value>eagle1</value>
  </property>
 </bean> 
1 以map的方式注入

<property name="someMap">
   <map>
    <entry key="EagleMapTest">
     <value>hello ealge</value>
    </entry>
    <entry key="someKey1">
     <ref bean="some1" />
    </entry>
   </map>
  </property>
2 以list的方式注入
<property name="someList">
   <list>
    <value>eagle List Test</value>
    <ref bean="some1" />
    <ref bean="some2" />
   </list>
  </property>

3 数据连接
 <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <property name="url">
            <value>jdbc:oracle:thin:@127.0.0.1:1521:cqeagle</value>
        </property>
        <property name="username">
            <value>eagle</value>
        </property>
        <property name="password">
            <value>eagle</value>
        </property>
 </bean>

java群  16687158 欢迎你的加入,来一起讨论,学习!

posted @ 2006-09-07 17:44 skyeagle 阅读(441) | 评论 (0)编辑 收藏

仅列出标题