彩票走势图

使用JSP操作EXCEL(用JXL)

转帖|其它|编辑:郝浩|2011-07-18 14:44:41.000|阅读 1311 次

概述:1、生成EXCEL需要手动写查询语句把ORACLE数据库中的数据查询出来,再通过操作写到EXCEL文件里面。2、通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄里面的内容,再通过INSERT语句去插入数据库操作。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  1、生成EXCEL需要手动写查询语句把ORACLE数据库中的数据查询出来,再通过操作写到EXCEL文件里面。

 

  2、通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄里面的内容,再通过INSERT语句去插入数据库操作。

示例:

包括从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.*;

public class ExcelHandle

{

public ExcelHandle()

{

}

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 writeExcel(OutputStream os)

{

try

{

WritableWorkbook wwb = Workbook.createWorkbook(os);

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

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

/

public static void modifyExcel(File file1,File file2)

{

try

{

Workbook rwb = Workbook.getWorkbook(file1);

WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy

WritableSheet ws = wwb.getSheet(0);

WritableCell wc = ws.getWritableCell(0,0);

//判断单元格的类型,做出相应的转换

if(wc.getType == CellType.LABEL)

    {

    Label label = (Label)wc;

    label.setString("The value has been modified");

    }

    wwb.write();

    wwb.close();

    rwb.close();

    }

    catch(Exception e)

    {

    e.printStackTrace();

    }

    }

    //

测试

    public static void main(String[] args)

    {

    try

    {

    //读Excel

    ExcelHandle.readExcel("f:/testRead.xls");

    //输出Excel

    File fileWrite = new File("f:/testWrite.xls");

    fileWrite.createNewFile();

    OutputStream os = new FileOutputStream(fileWrite);

    ExcelHandle.writeExcel(os);

    //修改Excel

    ExcelHandle.modifyExcel(new file(""),new File(""));

    }

    catch(Exception e)

    {

    e.printStackTrace();

    }

    }

    }

    2.在jsp中做相关测试,创建一个writeExcel.jsp

    <%

    response.reset();//清除Buffer

&nbsp;   response.setContentType("application/vnd.ms-excel");

   ; File fileWrite = new File("f:/testWrite.xls");

    fileWrite.createNewFile();

    new FileOutputStream(fileWrite);

    ExcelHandle.writeExcel(new FileOutputStream(fileWrite));

    %>

    在IE中浏览writeExcel.jsp就可以动态生成Excel文档了,其中response.setContentType("application/vnd.ms-excel");语句必须要,才能确保不乱码,在jsp中输入<%@page contentType="application/vnd.ms-excel;charset=GBK"%>不行。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP