Java操作Jxl实现导出数据生成Excel表格数据文件

实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js、Css文件。页面:Jsp、拦截请求:Servlet、逻辑处理:ClassBean、数据库:SQLserver。

注意:Bean中操作SQL语句进行处理是公司内部方法,可替换为其它方法自行扩展!主要看代码逻辑业务处理!

使用SQLserver数据库进行多表连接查询得出需要展出的数据

 

则前台数据展示使用的是Easyui中的datagrid数据列表进行展示。

 

 随机点击一行数据,点击详情个人信息弹窗打开,数据以及被填充到弹窗中!

  拉到底部可见导出按钮,点击导出发送请求:传入个人就诊编号及卡号进行SQL查询个人数据实现导出

 

 此时此刻Java操作Jxl生成Excel文件成功直接,让我们打开文件查看数据是否和我们后台设置的预期效果一致!

表格数据和预期效果一致代码如下:

Bean代码:

复制代码

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import jxl.CellView;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;


public class ImportBean {
    
    private HttpServletRequest request;//客户端请求对象
    private DBSource db; //操作SQL语句对象
    private String MSG;  //提示信息
    
    
    //构造函数
    public ImportBean(HttpServletRequest request) {
        this.request = request;
        this.db = new DBSource(request); // 数据库对象
    }
    
    
    

    //主诉与症状下拉框
    public Vector loadZSZZCombo() throws SQLException{
        Vector vec = null;
        String sql ="  select '' as comboValue,'请选择' as comboName, '' as combotext  "+ 
                "union all " +
                "select [编号],[主诉与症状],[查体]  FROM [V_医务管理_主诉症状信息表]";
        sql+=" ORDER BY comboValue ";
        vec = db.getConttexJONSArr(sql, 0, 0);
        return vec;
    }
        
    
    
    //页面初始化读取就诊信息
    public Vector queryJZXX(int pageNum, int pageSize,String JZBH,String KH) throws SQLException{
        String sql = ""; // 查询用SQL语句
        Vector vec = null; // 结果集    
        
        sql="select 就诊编号,卡号,姓名,班级或部门,人员类型,就诊医生,convert(nvarchar(19),就诊时间,21) as 就诊时间,主诉与症状,查体,是否隔离,诊断结果,诊疗意见,病历类型,isnull(转院原因,'') as 转院原因,isnull(转诊医院,'') as 转诊医院,isnull(转诊医生,'') as 转诊医生,isnull(convert(nvarchar(19),转院时间,21),'') as 转院时间  from ( SELECT l.就诊编号,a.[卡号],a.[姓名],b.班级名称 as 班级或部门,'1' as 人员类型,j.就诊医生,j.就诊时间  as 就诊时间,l.主诉与症状,l.查体,l.是否隔离,l.诊断结果,l.诊疗意见,l.病历类型,z.转院原因,z.转诊医院,z.转诊医生,z.转院时间" + 
            " from [V_基础信息_学生信息表] a "+
            " left join [V_医务管理_就诊信息] j on j.卡号=a.卡号  left join [V_医务管理_病历信息] l on l.就诊编号=j.编号  " + 
            " left join [V_医务管理_转院信息] z on z.就诊编号=j.编号  left join dbo.V_基础信息_班级信息表 b on a.[行政班代码]=b.班级代码  "+
            " union all SELECT l.就诊编号,a.[卡号],a.[姓名],c.CNAME as 班级或部门,'2' as 人员类型,j.就诊医生,convert(nvarchar(19),j.就诊时间,21) as 就诊时间,l.主诉与症状,l.查体,l.是否隔离,l.诊断结果,l.诊疗意见,l.病历类型,isnull(z.转院原因,'') as 转院原因,isnull(z.转诊医院,'') as 转诊医院,isnull(z.转诊医生,'') as 转诊医生,isnull(convert(nvarchar(19),z.转院时间,21),'')as 转院时间  " + 
            " from [V_基础信息_教职
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值