`
tangkuo
  • 浏览: 103129 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

jxl 分页 excel

 
阅读更多
以下代码仅供参考:
//生成一个excel文件
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
log.error(e); }
long totle = service.getTotle(searchParameters);//业务逻辑方法,获取总数,便于在excel分多个工作表
//按65536条数据分页
float res=Float.parseFloat(String.valueOf(totle));
float mus=65536;
float avg=res/mus;
Map cols = (Map) request.getSession().getAttribute("columnsMap"); //业务逻辑方法
for (int i = 0; i < avg+1; i++) {
searchParameters.setEvent_id(String.valueOf(i*mus)); //分页查询条件
searchParameters.setTotalLimit(String.valueOf((i+1)*mus));//分页查询条件
List result = service.getEvents(searchParameters); //分页查询方法

if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("列表"+(i+1), i);
String colss = ((String) cols.get("cols")).substring("selected"
.length() + 1);
String[] columns = colss.split(","); //业务逻辑方法(添加标题)
String[] colNames = ((String) cols.get("colNames")).split(",");
for (int j = 0; j < columns.length; j++) {
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(Colour.GRAY_25);
Label label = new Label(j, 0,colNames[j],wcfFC);
ws.setColumnView(j, 20); //设置列宽
ws.addCell(label); //添加标题
}
String str="";
//下面开始添加单元格
for(int m=0;m<result.size();m++){
for(int j=0;j<columns.length;j++){
Map map = (Map) result.get(m);
//在表格中添加(业务数据)
for (Object key : map.keySet()) {
Object val = map.get(key);
str=String.valueOf(val);
//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, m+1, str);
//将生成的单元格添加到工作表中
ws.addCell(labelC);
}

}
}
}

}
//Excel操作完毕之后,关闭所有的操作资源
try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();
} catch (IOException e) {
log.error(e);
} catch (WriteException e) {
log.error(e);
}

//把生成的文件下载
File file = new File(fileName);
if(!file.exists()) throw new Exception("文件不存在!");
FileInputStream fileInputStream = new FileInputStream(file);
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
OutputStream outputStream = response.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
response.setContentType("application/x-download");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("事件列表.xls", "UTF-8"));
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = bufferedInputStream.read(buffer, 0, 8192)) != -1) {
bufferedOutputStream.write(buffer, 0, bytesRead);
}
bufferedOutputStream.flush();
fileInputStream.close();
bufferedInputStream.close();
outputStream.close();
bufferedOutputStream.close();
分享到:
评论

相关推荐

    struts2整合apache的jxl导入导出excel表格

    - 在实际应用中,可能需要处理更复杂的数据结构,例如,将对象映射到 Excel 单元格,或者处理大型数据集时进行分页。 - 为了提高性能,可以考虑使用内存映射文件或分批次处理大文件,避免一次性加载整个文件到内存...

    java 导出excel(单、多工作薄)

    本文将详细介绍如何使用Java的两个库,jxl和Apache POI,来实现单个和多个工作簿的Excel导出。 首先,我们来看jxl库。jxl是Java Excel API的简称,它允许Java程序读写Excel文件。在单个工作簿的导出中,jxl库提供了...

    java插件jxl页面设置

    JXL(Jakarta Excel)是一个用于读写Microsoft Excel文件的强大Java库。本文将围绕标题“java插件jxl页面设置”及其描述“jxl中一些常用的页面设置”,详细解释与页面设置相关的知识点。 ### 一、页面设置概述 在...

    java实现自定义excel模板导出excel并可保存客户端和在线打开

    本文将深入探讨如何使用Java和jxl库来实现这一功能,让开发者能够创建任意复杂格式的Excel文件,并允许用户在客户端保存或在线打开。 首先,我们要了解jxl库。jxl是Java Excel API的缩写,它是一个开源的Java库,...

    android excel poi+jxl

    在Android平台上,处理Excel文件通常涉及使用第三方库,如Apache POI和JXL。这两个库都是Java编程语言的库,可以用于读写Microsoft Office格式的文件,包括Excel工作簿(.xls和.xlsx)。Apache POI是更为现代和功能...

    jsp生成XLS(excel)实例(带图片插入)

    本实例将详细讲解如何使用JSP(Java Server Pages)配合JXL库来创建包含图片的XLS(Excel)文件。 JSP是一种基于Java的技术,用于动态生成Web页面。JXL则是一个开源的Java库,专门用于读写Microsoft Excel格式的...

    个性化定制excel报表数据导出工具

    在技术实现层面,Java作为服务器端的主流编程语言,拥有丰富的库支持Excel操作,例如Apache POI和JXL等。Apache POI是一个流行的开源项目,专门用于读写Microsoft Office格式的文件,包括Excel。通过使用POI库,...

    java实现JSP表格数据导出到EXCEL文件

    4. **创建Excel工作簿**:使用jxl库的Workbook类创建一个新的Excel工作簿。 5. **创建工作表**:在工作簿中添加新的工作表,可以用Workbook.createSheet()方法。 6. **写入数据**:遍历获取的数据,将其写入工作表...

    java实现excel导入导出.pdf

    Java 实现Excel导入导出是常见的数据处理任务,主要涉及两个流行的库:jxl 和 Apache POI。这两个库都提供了对Microsoft Excel文件的读写支持,但POI库功能更强大,支持更多的Excel版本和特性。 1. **jxl 库**: -...

    JXLS将数据库取得的数据根据Excel模板导出

    这些包通常包括jxl.jar(JXLS的基础库),以及可能需要的其他依赖,如Spring或Apache POI库,具体取决于你的应用环境和需求。 2. **准备数据** 数据是整个过程的核心。在示例代码中,`export()` 方法执行SQL查询...

    Java生成Excel实例

    DisplayTag是一个用于展示列表数据的JSP标签库,它支持多种分页机制,并能够方便地导出到CSV、XML或Excel等格式。为了使用DisplayTag,首先需要添加必要的jar包到项目的类路径中: - displaytag-1.1.jar - ...

    创建或读取Excel表

    //打印分页符 if (i % 20 == 0) { //wsheet.addRowPageBreak(i); } } // 主体内容生成结束 wbook.write(); // 写入文件 wbook.close(); return 1; } catch (Exception ex) { ex.printStackTrace(); ...

    Java导出Excel

    Java导出Excel主要涉及到对大量数据的高效处理,特别是在需要分页显示或导出的情况下。 #### 二、知识点详解 ##### 1. 使用Java进行Excel导出 Java导出Excel通常涉及以下几种技术: - **Apache POI**:这是一个...

    15个最实用的javaWeb开发工具代码.zip

    15个最实用的javaWeb开发...jxl导入excel log4j日志配置 md5密码加密 poi报表 FCK文本编辑器 ajax校验 session失效自动跳转到登录页面 vilidate验证 二级缓存 分页 文件上传进度条 权限配置文件(dom4j) 验证码+记住我

    json转表格html

    4. **使用jxl、poi库**:`jxl`是Java的一个库,用于读写Excel文件,而`poi`是Apache的一个项目,同样支持处理Excel文件。这些库可以用来读取由JSON转换后的Excel文件,然后进一步转换为HTML。 5. **生成HTML**:...

    springboot结合Easyexcel的使用(详细介绍Easyexcel)小白入门到精通

    在Java开发中,处理Excel文件是一项常见的任务,而Apache POI和jxl库由于内存消耗大、处理大量数据时速度慢等问题,已不能满足高效、稳定的需求。这时,阿里巴巴开发的EasyExcel应运而生,它提供了一种更加高效、...

    企业信息管理系统

    `jxl`主要用于较旧版本的Excel,而`poi`则支持最新的Excel格式。这些库在企业信息管理系统中起到数据导出的作用,允许用户将系统内的数据导出为Excel格式,方便数据分析和报表生成。 最后,`word 报表`可能指的是...

    struts2 spring hibernate所需jar包

    struts2+spring2.5+hibernate3.2整合所需的所有jar包,并额外包含了dwr.jar、分页组件pager-taglib、绘图组件jfreechart.jar、Excel解析工具包jxl.jar、数据库连接池工具包proxool.jar

    程序员实习总结.doc

    - 在数据导入导出方面,实习生可能接触到了两种主要技术:Apache POI(支持Excel 07和03版本)和JXL(仅支持Excel 03版本)。尽管POI支持更多格式,但在效率上,JXL可能更具优势。 7. **学习与成长**: - 学习...

Global site tag (gtag.js) - Google Analytics