`
温柔一刀
  • 浏览: 860562 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sping 、jxl 生成excel文件下载

阅读更多
ExcelBean.java文件用于生成Excel

java 代码
  1. package com.zhupan.util;   
  2.   
  3. import java.io.OutputStream;   
  4. import java.util.List;   
  5.   
  6. import jxl.Workbook;   
  7. import jxl.format.Colour;   
  8. import jxl.format.UnderlineStyle;   
  9. import jxl.write.Label;   
  10. import jxl.write.WritableCellFormat;   
  11. import jxl.write.WritableFont;   
  12. import jxl.write.WritableSheet;   
  13. import jxl.write.WritableWorkbook;   
  14.   
  15. import com.ctgusec.model.Course_info;   
  16. import com.ctgusec.model.Student_info;   
  17.   
  18. public class ExcelBean {   
  19.   
  20.     public String expordExcel(OutputStream os, List courseList, List studentList)   
  21.             throws Exception {   
  22.   
  23.         WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件   
  24.         String tmptitle = "课程“"  
  25.                 + ((Course_info) courseList.get(0)).getCource_name()   
  26.                 + "”的选课学生列表"// 标题   
  27.         WritableSheet wsheet = wbook.createSheet("第一页"0); // sheet名称   
  28.         // 设置excel标题   
  29.         WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,   
  30.                 WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,   
  31.                 Colour.BLACK);   
  32.         WritableCellFormat wcfFC = new WritableCellFormat(wfont);   
  33.         wsheet.addCell(new Label(10, tmptitle, wcfFC));   
  34.         wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,   
  35.                 WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,   
  36.                 Colour.BLACK);   
  37.         wcfFC = new WritableCellFormat(wfont);   
  38.         // 开始生成主体内容   
  39.         wsheet.addCell(new Label(02"课程名称"));   
  40.         wsheet.addCell(new Label(12"学 号"));   
  41.         wsheet.addCell(new Label(22"姓 名"));   
  42.         wsheet.addCell(new Label(32"性 别"));   
  43.         wsheet.addCell(new Label(42"学 院"));   
  44.         wsheet.addCell(new Label(52"班 级"));   
  45.         wsheet.addCell(new Label(62"专 业"));   
  46.         wsheet.addCell(new Label(72"备 注"));   
  47.         for (int i = 3; i < studentList.size() + 3; i++) {   
  48.             wsheet.addCell(new Label(0, i, ((Course_info) courseList.get(0))   
  49.                     .getCource_name()));   
  50.             wsheet.addCell(new Label(1, i, ((Student_info) studentList.get(0))   
  51.                     .getStudentID()));   
  52.             wsheet.addCell(new Label(2, i, ((Student_info) studentList.get(0))   
  53.                     .getName()));   
  54.             wsheet.addCell(new Label(3, i, ((Student_info) studentList.get(0))   
  55.                     .getSex()));   
  56.             wsheet.addCell(new Label(4, i, ((Student_info) studentList.get(0))   
  57.                     .getUnit()));   
  58.             wsheet.addCell(new Label(5, i, ((Student_info) studentList.get(0))   
  59.                     .getClass_()));   
  60.             wsheet.addCell(new Label(6, i, ((Student_info) studentList.get(0))   
  61.                     .getSpecialty()));   
  62.             wsheet.addCell(new Label(7, i, ((Student_info) studentList.get(0))   
  63.                     .getRemark()));   
  64.         }   
  65.         // 主体内容生成结束   
  66.         wbook.write(); // 写入文件   
  67.         wbook.close();   
  68.         os.close();   
  69.         return "success";   
  70.     }   
  71. }  

控制器:

java 代码
  1. package com.ctgusec.spring;   
  2.   
  3. import java.io.OutputStream;   
  4. import java.util.List;   
  5.   
  6. import javax.servlet.http.HttpServletRequest;   
  7. import javax.servlet.http.HttpServletResponse;   
  8.   
  9. import org.springframework.web.servlet.ModelAndView;   
  10. import org.springframework.web.servlet.mvc.AbstractController;   
  11.   
  12. import com.ctgusec.service.ICourse_infoManage;   
  13. import com.zhupan.util.ExcelBean;   
  14.   
  15. public class EExcelDownController extends AbstractController {   
  16.   
  17.     private ICourse_infoManage courseManage;   
  18.   
  19.     public void setCourseManage(ICourse_infoManage courseManage) {   
  20.         this.courseManage = courseManage;   
  21.     }   
  22.   
  23.     @Override  
  24.     protected ModelAndView handleRequestInternal(HttpServletRequest request,   
  25.             HttpServletResponse response) throws Exception {   
  26.         Integer course_id = new Integer(request.getParameter("course_id"));   
  27.         List courseList = this.courseManage.getCourseById(course_id);   
  28.         List studentList = this.courseManage.getStudentByCourseId(course_id);   
  29.         try {   
  30.             OutputStream os = response.getOutputStream();// 取得输出流   
  31.             response.reset();// 清空输出流   
  32.             response.setHeader("Content-disposition",   
  33.                     "attachment; filename=student.xls");// 设定输出文件头   
  34.             response.setContentType("application/msexcel");// 定义输出类型   
  35.             ExcelBean excelBean = new ExcelBean();   
  36.             excelBean.expordExcel(os, courseList, studentList);// 调用生成excel文件bean   
  37.         } catch (Exception e) {   
  38.             System.out.println(e);   
  39.         }   
  40.         return null;   
  41.     }   
  42. }  
分享到:
评论
2 楼 温柔一刀 2006-10-15  
可以的
POI我没有用过
但是一定也可以
1 楼 小天蝎 2006-10-14  
请问能动态添加工作表吗?或者说怎么实现,我用的是POI,我想通过传递参数动态创建工作表。

相关推荐

    JXL 下载 Excel 文档

    这篇博客“JXL 下载 Excel 文档”可能是介绍如何使用JXL库在Java程序中创建、读取或修改Excel文件。 描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容没有给出,但我们可以推测博主可能详细介绍了使用JXL库...

    SSH+JXL 下载 Excel 文档

    在"SSH+JXL 下载 Excel 文档"的场景中,JXL将用于生成Excel文件,这可能包括创建工作表,设置单元格格式,填充数据等。 4. **Excel文档的生成**: 使用JXL,开发者可以创建`WritableWorkbook`对象,然后添加`...

    jxl实现excel上传下载全部功能

    Excel下载涉及从服务器生成Excel文件并提供给客户端下载。主要步骤如下: 1. 根据需要从数据库或其他数据源获取数据。 2. 使用JXL的`Workbook.createWorkbook()`方法创建一个新的工作簿对象。 3. 创建一个`Sheet`...

    用jxl操作excel实例

    Servlet会根据请求参数,利用JXL库生成Excel文件,并将其作为响应的附件返回给客户端,用户可以下载保存。 综上所述,这个实例展示了如何在Spring MVC环境中使用JXL库进行Excel操作,具体可能包括从数据库或其他...

    JXL解析和生成Excel文件

    在描述中提到了一个博客链接,虽然具体内容未给出,但我们可以推测这篇博客可能详细介绍了如何使用JXL库来解析和生成Excel文件。通常,这样的教程会涵盖以下知识点: 1. **安装JXL**:介绍如何将JXL库添加到Java...

    struts2+jxl导出excel

    而JXL库则是一个用于读写Microsoft Excel文件的Java库,使得开发者能够在Java程序中方便地操作Excel数据。在"struts2+jxl导出excel"的场景中,我们将讨论如何利用Struts2框架与JXL库配合,实现从web应用中导出数据到...

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

    此方法接受一个包含多种数据类型的列表,并返回一个 `InputStream`,该流可以被 Struts2 动作类用来生成并下载 Excel 文件。 3. **服务层接口实现**: 创建 `ExcelServiceImpl` 类来实现 `IExcelService` 接口。在...

    spring导出Excel

    本篇文章将深入探讨如何使用Spring Boot结合jxl库实现Excel文件的生成与导出,以及如何自定义标题列。 首先,让我们了解Excel文件的基本概念。Excel是一种电子表格程序,由Microsoft Office提供,广泛用于数据存储...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    导出时,我们先创建工作簿和工作表,然后逐行填充数据,设置单元格样式,最后将工作簿写入HTTP响应流,让浏览器下载Excel文件。 总结,通过SpringBoot结合Apache POI,我们可以轻松地实现Excel文件的导入和导出功能...

    读写Excel jxl.jar 读xml (log4j 文件上传下载笔记).rar

    这篇文档将深入探讨Java中如何使用jxl.jar库进行Excel文件的读写操作,解析XML文件,以及关于log4j的日志记录系统和文件的上传下载笔记。在现代的IT环境中,这些技能对于数据处理、日志管理和系统交互至关重要。 ...

    jxl报表 代码应用

    jxl是用于处理Excel文件的Java库,它可以读写Excel文件,非常适合于数据分析或报表生成。Struts是经典的MVC(Model-View-Controller)框架,负责控制应用程序流程。Hibernate是一个流行的Java ORM(对象关系映射)...

    jxls报表生成利器,比起jxl,poi牛逼得很

    标题中的“jxls报表生成利器,比起jxl,poi牛逼得很”暗示了本文将讨论在Java环境下生成Excel报表的工具,重点在于jxls和Apache POI库的对比。jxls是一个基于Apache POI的扩展库,使得在处理Excel模板时更加方便高效...

    Excel之JXL 报表 java

    JXL库是一个流行的选择,它允许开发者用Java语言轻松地读写Microsoft Excel文件。本篇将深入探讨“Excel报表JXL类型”以及如何在Java中使用JXL库来从数据库读取和排列数据。 首先,JXL库提供了丰富的API,可以创建...

    JXL+mybateis自动生成DO+mapper

    而JXL则是一个Java库,主要用于读写Excel文件,这里可能是用来处理生成的代码模板。 描述中提到的"非常简单,懂的人看下就明白"意味着这个过程是直观且易操作的。通过右键点击MyBatis-map项目下的mybatis-config....

    jxl报表制作工具

    9. **实际应用案例**: 在企业级应用中,JXL常用于生成销售报告、财务报表、数据分析结果等,通过自定义模板,快速生成符合业务需求的Excel文件。 10. **与其他技术结合**: JXL可以与Spring、Hibernate等框架结合,...

    Java处理100万行超大Excel文件秒级响应

    ### Java处理100万行超大Excel文件秒级响应 #### 一、问题背景与需求分析 在项目开发过程中,经常会遇到需要处理大量Excel数据的情况。这些数据可能包括成千上万条记录,每条记录又包含多个字段。传统的处理方式...

    下载报表文件

    在处理Excel文件时,标签中提到的`excel jxl`是指使用JExcelApi(jxl.jar)库。这是一个Java库,用于读写Microsoft Excel文件。在Java应用中,JExcelApi允许我们创建新的Excel工作簿,填充数据,设置样式,甚至处理...

    基于Spring Mvc实现的Excel文件上传下载示例

    总的来说,Spring MVC为开发人员提供了强大的工具来处理文件上传和下载,结合其他库,可以轻松地实现对Excel文件的读取、解析和生成。通过理解这些概念和步骤,你可以构建自己的文件管理系统,满足各种业务需求。

    Java Excel Api及详细教程和代码

    JXL提供了丰富的类和接口来处理这些对象,如`WritableWorkbook`用于创建和修改Excel文件,`WritableSheet`用于处理工作表,`WritableCell`用于处理单元格数据。 例如,要创建一个新的Excel文件并写入数据,可以这样...

    java读取excel简单例子

    Java语言在处理Excel文件时,通常会借助第三方库,如jxl库。jxl是一个流行的、免费的Java库,用于读取和写入Microsoft Excel格式的文件。在这个简单的例子中,我们将探讨如何使用jxl.jar来读取Excel数据,这对于初学...

Global site tag (gtag.js) - Google Analytics