exception-JSP导出Excel表是点击取消时报异常

问题描述

JSP导出Excel表是点击取消时报异常

public boolean export2(OutputStream os, String[] titles, List list, String[] keys, String reportDate) {
WritableWorkbook wwb = null;
//wwh20130327_add导出大量数据优化
WorkbookSettings wbs = new WorkbookSettings();
wbs.setUseTemporaryFileDuringWrite(true);
//wwh20130327_add_end
try {
wwb = Workbook.createWorkbook(os,wbs);
// 创建EXCEL工作表
WritableSheet ws = wwb.createSheet("车辆日报表", 0);
for (int i = 0; i < titles.length; i++) {
jxl.write.Label title = new jxl.write.Label(i, 0, titles[i]);
ws.addCell(title);
}
// 先判断是否传入原始数据
if (list == null || list.size() == 0 || os == null) {
// System.out.println("no data");
return false;
}
// System.out.println("have some data");
WritableCellFormat cellFormatDate = new WritableCellFormat(new DateFormat("yyyy-MM-dd hh:mm:ss"));
WritableCellFormat cellFormatNumber = new WritableCellFormat(NumberFormats.DEFAULT);
WritableCellFormat cellFormatText = new WritableCellFormat(NumberFormats.TEXT);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) == null || list.get(i) instanceof Map == false) {
continue;
}
Map<?, ?> map = (Map<?, ?>) list.get(i);
int colIndex = 0;
Object value = null;
int colWidth[] = new int[keys.length];
for (String key : keys) {
value = map.get(key);

                if (value != null) {
                    if (value instanceof Timestamp) {
                        jxl.write.DateTime dateCell = new jxl.write.DateTime(colIndex, i + 1,
                                new Date(((Timestamp) value).getTime()),cellFormatDate);

                        ws.addCell(dateCell);
                        if (colWidth[colIndex] == 0) {
                            ws.setColumnView(colIndex, 19);
                            colWidth[colIndex] = 19;
                        }
                    } else if (value instanceof java.sql.Date) {
                        jxl.write.DateTime dateCell = new jxl.write.DateTime(colIndex, i + 1,
                                new Date(((java.sql.Date) value).getTime()),cellFormatDate);
                        ws.addCell(dateCell);
                        if (colWidth[colIndex] == 0) {
                            ws.setColumnView(colIndex, 19);
                            colWidth[colIndex] = 19;
                        }
                    } else if (value instanceof Double || value instanceof Integer
                            || value instanceof Float || value instanceof Short
                            || value instanceof BigDecimal) {

                        jxl.write.Number number = new jxl.write.Number(colIndex, i + 1, Double.parseDouble(String
                                .valueOf(value)), cellFormatNumber);
                        ws.addCell(number);
                    } else {
                        Label labelCFC2 = new Label(colIndex, i + 1, String.valueOf(value), cellFormatText);
                        ws.addCell(labelCFC2);
                    }
                }
                colIndex++;
            }

        }
        Label label = new Label(0, list.size() + 2, "生成时间:" + TimeUtil.formatYMDHMS(new Date()));
        ws.addCell(label);
        label = new Label(0, list.size() + 3, "统计时间:" + reportDate);
        ws.addCell(label);
    } catch (Exception e) {
        log.error("导出EXCEL出错1", e);

    } finally {
        try {
            if (null != wwb) {
                wwb.write();
                wwb.close();
            }
            if (os != null) {
                os.close();
            }
        } catch (Exception e) {
            log.error("导出EXCEL出错2", e);
        }
    }

    return true;![图片说明](http://img.ask.csdn.net/upload/201509/09/1441782386_403767.png)
}

报错:

解决方案

这些东西有时候我也不会

解决方案二:

jsp导出excel表
jsp怎么导出Excel表
----------------------

时间: 2024-09-15 04:51:48

exception-JSP导出Excel表是点击取消时报异常的相关文章

jsp导出excel并支持分sheet导出的方法_JSP编程

本文实例讲述了jsp导出excel并支持分sheet导出的方法.分享给大家供大家参考,具体如下: public DownloadFile exportToExcel() throws Exception{ String config_value = systemConfigService.getConfigValueByKey("Export.Xls"); logger.info("获取的导出类型为execl表格"+",每页sheet导出的行数为:&quo

JSP导出Excel文件的方法_JSP编程

本文实例讲述了JSP导出Excel文件的方法.分享给大家供大家参考,具体如下: <%@page import="jxl.Workbook,com.ecc.emp.core.*,com.ecc.emp.data.*,com.ecc.emp.jdbc.ConnectionManager,jxl.format.VerticalAlignment,java.sql.*,jxl.write.*,jxl.format.UnderlineStyle,javax.sql.DataSource"%

导入导出excel表

问题描述 c#怎样导入导出excel表?(最好提供一个示例代码及教程) 解决方案 解决方案二:可以引用EXCEL的Com控件,但很麻烦.网上很多第三方操作的控件,自己可以找一下,比如Aspose.Cell,FarPoint,等解决方案三:先要添加com控件,然后才能使用.以下是我做的一个系统输出到Execl表格的代码,供你参考:privatevoidtoolStripButton_print_Click(objectsender,EventArgse){intRCount=dataGridVie

PHP将数据导出Excel表中的实例(投机型)

1.简介 如何利用最简单粗糙暴力的方法将数据写入Excel文件中呢? 因为ms word和excel的文档都支持html文本格式,因此我们可以基于这个原理采用html文本格式进行数据的输出. 在html中,我们只需要将数据照着所想要的顺序放进相应的html表格中即可. 我们采用PHP进行数据获取整理以及构造相应的html文本,最后通过字节流输出下载到用户本地. 2.代码 直接上代码,这是一个很简单的程序,里面都带有注释了. ExportExcel.class.php文件 <?php class

急急急,。。。。。.net导出excel表,其中表头有几个列名是相同的怎么导出

问题描述 急急急,......net导出excel表,其中表头有几个列名是相同的怎么导出空空空联系地址商品名称 解决方案 解决方案二:相同的列名看你是想怎么展示了解决方案三:如果位置固定可以使用索引进行获得sheet[0]解决方案四:通过sheet获取表格Rangerange=datasheet.get_Range("A1","A2535");获取区域stringvalue=values.GetValue(i,j).ToString();获取单元格解决方案五:个人觉

excel-java web 我做了一个导出Excel表,为什么时而好使,时而不好使

问题描述 java web 我做了一个导出Excel表,为什么时而好使,时而不好使 java web 我做了一个导出Excel表,为什么时而好使,时而不好使,求大神指点,根据查询条件查出来的内容都可以导出成功,但是再点就有可能不好使了,不知道什么原因 解决方案 点完之后进行导出,导出之后刷新一下当前页面,再点应该就可以了. 解决方案二: 有什么错误信息呢?要是没有错误信息,那有没有进入后台查询呢

sql server-按条件从数据库中批量导出excel表

问题描述 按条件从数据库中批量导出excel表 一张表中有58万条记录,产地(产地为字符型)也有200个,按产地(如产地为北京的为一个excel表)分类导出带表头的excel表,excel表名与导出的产地一致.求各位大侠帮忙,万分感谢!(用oracle,sql server都可) 解决方案 http://blog.csdn.net/yongsheng0550/article/details/6714111 解决方案二: 数据库数据批量导出到excel利用POI将数据库表导出到Excel 解决方案

jsp导出excel文件的操作

问题描述 jsp导出excel文件的操作 jsp页面导出excel文件或者PDF文件应该是用什么技术,求指导~~ 解决方案 JSP导出Excel文件c# 导出Excel文件的操作示例操作本地文件的jsp 解决方案二: 导入导出excel一般用的jxl架包,可以在网上搜一下例子... 解决方案三: 网上导出EXCEL的例子很多的,可以搜一下

java+jxl+jsp导出excel问题

问题描述 能导出excel,但是没有数据,请大神帮我看下,谢谢,感觉应该是这一段Listlist=newArrayList();//System.out.println(list.size());for(inti=3;i<list.size()+3;i++){Datathplyyvchdata=(Datathplyyvch)list.get(i-3);ws.insertRow(i);ws.addCell(newLabel(0,i,data.getVfdept_code()));ws.addCel