jsp和excel的数据交换

上传人:pu****.1 文档编号:552683623 上传时间:2023-08-05 格式:DOC 页数:8 大小:30KB
返回 下载 相关 举报
jsp和excel的数据交换_第1页
第1页 / 共8页
jsp和excel的数据交换_第2页
第2页 / 共8页
jsp和excel的数据交换_第3页
第3页 / 共8页
jsp和excel的数据交换_第4页
第4页 / 共8页
jsp和excel的数据交换_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《jsp和excel的数据交换》由会员分享,可在线阅读,更多相关《jsp和excel的数据交换(8页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! jsp和excel的数据交换-我的项目实践前段时间,客户要求我们的系统可以实现与ms excel的数据交换,可以把系统中的数据导入导出到excel.我们的系统是一个用java做的b/s结构的MIS系统.为了解决这个问题,我采用了专门操作excel的开源项目jxl根据客户的要求,用jxl实现了如下功能:1:在客户端读取excel文件的数据;2:把系统数据导出到excel模板文件中.于是就想到了先把excel文件上传到服务器,然后用jxl来解析数据.怎么上传文件我就不说了,只要做过jsp的人应该都知道吧.主要讲一下如何解析.由于上传的数据都是有固定格

2、式的,所以我们做了一个excel模板,客户必须按照模板的格式填写数据,程序才可以正常的解析.解析其实也是很简单的,但在做的过程中发现,excel中的时间格式数据需要特别注意:如果按照文本格式读取时间格式数据,读取的时间是错误的(大家可以试验一下).为了解决读取时间错误的问题,我仔细研究了一下jxl的api,呵呵,居然发现了一个好东东:DateCell类,用它的getDate方法可以得到一个cell的date对象.不过由于国际化的需要,这个date对象得到的是格林尼治时间,你需要处理一下.至于导出,其实和导入差不多,无非就是先访问一下数据库,把得到的信息写入excel文件然后下载.下面是我写的导

3、入导出周生产计划的java类,其中开始的几行注释掉的部分分别是下载和上传的试例.(其实模板也很关键,下面的程序是基于模板而写的,不过相信大家看了下面的程序,也可以知道模板的样子了,需要重点说明的是,在模板中,填写时间的字段必须设置成时间格式-在excel中点击右键菜单轻松搞定)/* Create Date: 2004-11-9 10:20* Create By: 李春雷* purpose:和周计划相关的导入导出操作*/ /*周生产下载示例* ExcelZJHXM myZJH = new ExcelZJHXM(); myZJH.download(mydataZjh,20041018003); *

4、/ /*周计划上传示例* ExcelZJHXM test = new ExcelZJHXM(); test.upload(zscjhtest); if(test.getFlag() System.out.println(begin test-); ArrayList a = test.getData(); for(int i = 0;ia.size();i+) ExcelZJHXM.dataZJHXM mydata =(ExcelZJHXM.dataZJHXM)a.get(i); System.out.println(mydata.XH+ +mydata.XMMC+ +mydata.GZNR

5、+ +mydata.SFTD + +mydata.TDFW + +mydata.JHLRFLBH + +mydata.JHLRBH + +mydata.ZXDWMC + +mydata.PHDWMC + +mydata.DBRMC + +mydata.JHKSSJ+ +mydata.JHWCSJ + +mydata.BZ); else System.out.println(模板错误); */ package com.infoearth.excel; import mon.DataAccess; /我们项目自己的访问数据库的东东import java.io.FileInputStream;imp

6、ort java.io.InputStream;import java.sql.SQLException;import java.sql.*;import java.io.*;import java.io.Serializable;import java.util.*;import javax.sql.RowSet;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.write.*;import java.text.DateFormat;import jxl.DateCell;import java.text.*;pu

7、blic class ExcelZJHXM private boolean flag=false; private ArrayList subdata = new ArrayList(); public boolean download(String filename,String jhbh) Connection conn = null; PreparedStatement pStatement = null; ResultSet rs = null; DataAccess dBean = new DataAccess(); String mysql; mysql = select XH,X

8、MMC,GZNR,SFTD,TDFW,JHLRFLBH,JHLRBH,ZXDWMC,PHDWMC,DBRMC,JHKSSJ,JHWCSJ,BZ from JH_ZJHXM where JHBH=+jhbh+ order by jhxmbh asc; try conn = dBean.getConnection(); pStatement = conn.prepareStatement(mysql); rs = pStatement.executeQuery(); Workbook wb=Workbook.getWorkbook(new File(pengyuewebmistemplatezsc

9、jh.xls); WritableWorkbook book= Workbook.createWorkbook(new File(pengyuewebmisdownload+filename+.xls),wb); WritableSheet sheet = book.getSheet(zscjh); jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(); wcfFC.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); int

10、i=4; jxl.write.DateFormat df = new jxl.write.DateFormat(yyyy-mm-dd hh:mm); jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df); wcfDF.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); while(rs.next() sheet.addCell(new Label(2,i,rs.getString(XH),wcfFC); /序号 sheet

11、.addCell(new Label(3,i,rs.getString(XMMC),wcfFC); /项目名称 sheet.addCell(new Label(4,i,rs.getString(GZNR),wcfFC); /工作内容 sheet.addCell(new Label(5,i,rs.getString(SFTD),wcfFC); /是否停电 sheet.addCell(new Label(6,i,rs.getString(TDFW),wcfFC); /停电范围 sheet.addCell(new Label(7,i,rs.getString(JHLRFLBH),wcfFC); /任

12、务来源 sheet.addCell(new Label(8,i,rs.getString(JHLRBH),wcfFC); /来源编号 sheet.addCell(new Label(9,i,rs.getString(ZXDWMC),wcfFC); /执行单位 sheet.addCell(new Label(10,i,rs.getString(PHDWMC),wcfFC); /配合单位 sheet.addCell(new Label(11,i,rs.getString(DBRMC),wcfFC); /督办人/ sheet.addCell(new Label(12,i,rs.getString(JHKSSJ),wcfFC); /开始时间/ sheet.addCell(new Label(13,i,rs.getString(JHWCSJ),wcfFC); /结束时间 if(rs.getString(JHKSSJ)!=null)sheet.addCell(new jxl.write.DateTime(12, i,DateFormat.getDateTimeInstance().parse(rs.getString(JHKSSJ),

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号