`
ljm3256748
  • 浏览: 44211 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

JSP中将查询结果导出为excel

阅读更多

JSP中将查询结果导出为excel

转自洋葱头的BLOG   原文:http://blog.sina.com.cn/u/3f6efc4a0100063o

  如何将JSP中将查询结果导出为Excel,其实可以利用jakarta提供的POI接口将查询结果导出到excel。POI接口是jakarta组织的一个子项目,它包括POIFS,HSSF,HWSF,HPSF,HSLF,目前比较成熟的是HSSF,它是一组操作微软的excel文档的API,现在到达3.0版本,已经能够支持将图片插入到excel里面。下面简要的介绍一下它的用法,在这里http://apache.justdn.org/jakarta/poi/dev/bin/可以下载到它的最新版,下载下来以后,将它解压,并将其中的poi-3.0-alpha1-20050704.jar,poi-contrib-3.0-alpha1-20050704.jar,poi-scratchpad-3.0-alpha1-20050704.jar加入到你的开发环境的classpath中(比如JBUILDER可以点击工具》configure jdks》add……)。在解压的目录中,有一个docs目录是一些文档,其中里面有两个目录特别有用,一个是hssf目录,一个是apidocs目录。我从它的英文文档中摘出一些例子,放在一个java文件里面,加上简单的注释,你可以下载这个java文件下来玩玩。下面是java文件的一部分。

java 代码
  1. import java.io.*;   
  2. import org.apache.poi.hssf.usermodel.*;   
  3. import org.apache.poi.hssf.util.*;   
  4. import org.apache.poi.hssf.usermodel.contrib.*;   
  5. import javax.imageio.ImageIO;   
  6.   
  7. public class Main {   
  8.     public Main() {   
  9.     }   
  10.     //演示如何创建一个工作簿   
  11.     //用这种方法创建的工作簿有问题,用Excel打开以后发现下面Tab没有选中   
  12.     public static void ex1() {   
  13.         try {   
  14.             org.apache.poi.hssf.usermodel.HSSFWorkbook wb = new org.apache.poi.   
  15.                 hssf.usermodel.HSSFWorkbook();   
  16.             java.io.FileOutputStream fileOut = new java.io.FileOutputStream(   
  17.                 "ex1.xls");   
  18.             wb.write(fileOut);   
  19.             fileOut.close();   
  20.         }   
  21.         catch (Exception eee) {   
  22.             eee.printStackTrace();   
  23.         }   
  24.     }   
  25.     //演示如何创建一个工作表   
  26.     public static void ex2() {   
  27.         try {   
  28.             org.apache.poi.hssf.usermodel.HSSFWorkbook wb = new org.apache.poi.   
  29.                 hssf.usermodel.HSSFWorkbook();   
  30.             org.apache.poi.hssf.usermodel.HSSFSheet sheet1 = wb.createSheet(   
  31.                 "new sheet");   
  32.             org.apache.poi.hssf.usermodel.HSSFSheet sheet2 = wb.createSheet(   
  33.                 "second sheet");   
  34.             java.io.FileOutputStream fileOut = new java.io.FileOutputStream(   
  35.                 "ex2.xls");   
  36.             wb.write(fileOut);   
  37.             fileOut.close();   
  38.         }   
  39.         catch (Exception eee) {   
  40.             eee.printStackTrace();   
  41.         }   
  42.     }   
  43.     //演示如何创建一个单元格   
  44.     public static void ex3() {   
  45.         try {   
  46.             org.apache.poi.hssf.usermodel.HSSFWorkbook wb = new org.apache.poi.   
  47.                 hssf.usermodel.HSSFWorkbook();   
  48.             org.apache.poi.hssf.usermodel.HSSFSheet sheet = wb.createSheet(   
  49.                 "new sheet");   
  50.             // Create a row and put some cells in it. Rows are 0 based.   
  51.             org.apache.poi.hssf.usermodel.HSSFRow row = sheet.createRow( (short)   
  52.                 0);   
  53.             // Create a cell and put a value in it.   
  54.             org.apache.poi.hssf.usermodel.HSSFCell cell = row.createCell( (short)   
  55.                 0);   
  56.             cell.setCellValue(1);   
  57.             // Or do it on one line.   
  58.             row.createCell( (short1).setCellValue(1.2);   
  59.             row.createCell( (short2).setCellValue("This is a string");   
  60.             row.createCell( (short3).setCellValue(true);   
  61.             // Write the output to a file   
  62.             java.io.FileOutputStream fileOut = new java.io.FileOutputStream(   
  63.                 "ex3.xls");   
  64.             wb.write(fileOut);   
  65.             fileOut.close();   
  66.         }   
  67.         catch (Exception eee) {   
  68.             eee.printStackTrace();   
  69.         }   
  70.     }   
  71.     //演示如何操作自选图形   
  72.     public static void ex27() {   
  73.         try {   
  74.             HSSFWorkbook wb = new HSSFWorkbook();   
  75.             HSSFSheet sheet = wb.createSheet("new sheet");   
  76.             HSSFPatriarch patriarch = sheet.createDrawingPatriarch();   
  77.             HSSFClientAnchor a = new HSSFClientAnchor(001023255,   
  78.                 (short10, (short10);   
  79.             HSSFSimpleShape shape1 = patriarch.createSimpleShape(a);   
  80.             shape1.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);   
  81.             HSSFTextbox textbox1 = patriarch.createTextbox(   
  82.                 new HSSFClientAnchor(0000, (short11, (short22));   
  83.             textbox1.setString(new HSSFRichTextString("This is a test"));   
  84.             HSSFFont font = wb.createFont();   
  85.             font.setItalic(true);   
  86.             font.setUnderline(HSSFFont.U_DOUBLE);   
  87.             HSSFRichTextString string = new HSSFRichTextString("Woo!!!");   
  88.             string.applyFont(25, font);   
  89.             textbox1.setString(string);   
  90.             // Create a shape group.   
  91.             HSSFShapeGroup group = patriarch.createGroup(   
  92.                 new HSSFClientAnchor(00900200, (short22, (short22));   
  93.             // Create a couple of lines in the group.   
  94.             shape1 = group.createShape(new HSSFChildAnchor(33500500));   
  95.             shape1.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);   
  96.             ( (HSSFChildAnchor) shape1.getAnchor()).setAnchor( (short33,   
  97.                 500500);   
  98.             HSSFSimpleShape shape2 = group.createShape(new HSSFChildAnchor( (short)   
  99.                 1200400600));   
  100.             shape2.setShapeType(HSSFSimpleShape.OBJECT_TYPE_LINE);   
  101.             group.setCoordinates(10102020); // top-left, bottom-right   
  102.             FileOutputStream fileOut = new FileOutputStream("ex27.xls");   
  103.             wb.write(fileOut);   
  104.             fileOut.close();   
  105.         }   
  106.         catch (Exception eee) {   
  107.             eee.printStackTrace();   
  108.         }   
  109.     }   
  110.     //演示如何设定outline   
  111.     public static void ex28() {   
  112.         try {   
  113.             HSSFWorkbook wb = new HSSFWorkbook();   
  114.             HSSFSheet sheet1 = wb.createSheet("new sheet");   
  115.             sheet1.groupRow(514);   
  116.             sheet1.groupRow(714);   
  117.             sheet1.groupRow(1619);   
  118.             sheet1.groupColumn( (short4, (short7);   
  119.             sheet1.groupColumn( (short9, (short12);   
  120.             sheet1.groupColumn( (short10, (short11);   
  121.             FileOutputStream fileOut = new FileOutputStream("ex28.xls");   
  122.             wb.write(fileOut);   
  123.             fileOut.close();   
  124.         }   
  125.         catch (Exception eee) {   
  126.             eee.printStackTrace();   
  127.         }   
  128.     }   
  129.     //演示如何设定outline   
  130.     public static void ex29() {   
  131.         try {   
  132.             HSSFWorkbook wb = new HSSFWorkbook();   
  133.             HSSFSheet sheet = wb.createSheet("new sheet");   
  134.             HSSFPatriarch patriarch = sheet.createDrawingPatriarch();   
  135.             HSSFClientAnchor a = new HSSFClientAnchor(001023255,   
  136.                 (short10, (short10);   
  137.             HSSFShapeGroup group = patriarch.createGroup(a);   
  138.             group.setCoordinates(0080 * 412 * 23);   
  139.             float verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) /   
  140.                 (float) Math.abs(group.getY2() - group.getY1());   
  141.             EscherGraphics g = new EscherGraphics(group, wb,   
  142.                                                   java.awt.Color.black,   
  143.                                                   verticalPointsPerPixel);   
  144.             EscherGraphics2d g2d = new EscherGraphics2d(g);   
  145.             //drawChemicalStructure( g2d );   
  146.             FileOutputStream fileOut = new FileOutputStream("ex29.xls");   
  147.             wb.write(fileOut);   
  148.             fileOut.close();   
  149.         }   
  150.         catch (Exception eee) {   
  151.             eee.printStackTrace();   
  152.         }   
  153.     }   
  154.     //演示如何处理图片   
  155.     public static void ex30() {   
  156.         try {   
  157.             HSSFWorkbook wb = new HSSFWorkbook();   
  158.             HSSFSheet sheet = wb.createSheet("new sheet");   
  159.             HSSFPatriarch patriarch = sheet.createDrawingPatriarch();   
  160.             HSSFClientAnchor anchor;   
  161.             anchor = new HSSFClientAnchor(000255, (short22, (short4,   
  162.                                           7);   
  163.             anchor.setAnchorType(2);   
  164.             patriarch.createPicture(anchor,   
  165.                                     loadPicture(   
  166.                 "1.jpg",   
  167.                wb));   
  168.             FileOutputStream fileOut = new FileOutputStream("ex30.xls");   
  169.             wb.write(fileOut);   
  170.             fileOut.close();   
  171.         }   
  172.         catch (Exception eee) {   
  173.             eee.printStackTrace();   
  174.         }   
  175.     }   
  176.     private static int loadPicture(String filePath, HSSFWorkbook wb) {   
  177.         int result = 0;   
  178.         try {   
  179.             ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();   
  180.             java.awt.image.BufferedImage bufferImg = ImageIO.read(new File(   
  181.                 filePath));   
  182.             ImageIO.write(bufferImg,"jpg",byteArrayOut);   
  183.             result = wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG);   
  184.         }   
  185.         catch (Exception e) {   
  186.             e.printStackTrace();   
  187.         }   
  188.         return result;   
  189.     }   
  190. }  
好好学习一下这些例子,基本上就能利用java对excel进行操作了。
  那么JSP中查询页面导出到excel只要在服务器端利用HSSF形成xls文件,然后让用户来下载这些文件就行了。
分享到:
评论

相关推荐

    JSP SERVLET 导出数据库内容到EXCEL

    总结来说,"JSP SERVLET 导出数据库内容到EXCEL"是一个典型的Java Web应用场景,结合了JSP的视图呈现、Servlet的业务处理和数据库操作,以及第三方库Apache POI的文件生成能力,为企业级应用提供了强大的数据导出...

    jsp页面导出excel

    当需要从JSP页面导出数据到Excel文件时,这通常涉及到服务器端的数据处理和响应生成。下面我们将详细讨论如何在JSP页面上实现这个功能。 1. **使用Apache POI库** Apache POI是一个开源项目,提供API来处理...

    导出jsp页面为excel文档

    ### 如何在JSP中将页面内容导出为Excel文档 #### 标题解析:导出JSP页面为Excel文档 本标题明确指出本文的主要内容是介绍如何将JSP页面的内容转换并导出为Excel文档。JSP(JavaServer Pages)是一种基于Java的技术...

    javaweb JSP页面导出和导入excel表格

    本篇文章将详细探讨如何在JSP中实现Excel的导出和导入功能,这对于构建企业级办公系统是非常实用的。 一、导出Excel 1. **使用Apache POI库**:Apache POI是一个流行的API,用于读取和写入Microsoft Office格式的...

    JSP页面导出EXCEL简单方法

    在IT行业中,尤其是在Web开发领域,常常需要将网页上的数据导出为Excel格式,以便用户进行下载和进一步处理。本文将详细介绍如何使用JSP(JavaServer Pages)来实现这一功能,特别是针对页面上的HTML表格数据。 ...

    JSP Struts2 分页 导出Excel

    **JSP Struts2 分页 导出Excel** 在Web开发中,经常需要处理大量数据,这时分页显示和导出功能就显得尤为重要。JSP(JavaServer Pages)和Struts2作为Java Web开发中的常见技术,可以帮助我们构建动态、交互的网页...

    jsp导出Excel;简单实用!导出Excel;导出Word

    下面将详细介绍如何使用JSP实现Excel和Word的导出功能。 **一、导出Excel** 1. **引入库**: 要导出Excel,通常我们会用到Apache POI库,这是一个Java API,专门用于处理Microsoft Office格式的文件,包括Excel。...

    如何在jsp导出到Excel文件

    ### 如何在JSP导出到Excel文件:深入解析与实践 #### 一、通过设置Content-Type导出至Excel 在JSP环境下实现文件导出至Excel的第一种方法较为简单,主要通过修改JSP页面的`Content-Type`属性来完成。`Content-Type...

    jsp实现HTML表格导出和导入Excel功能

    在日常开发中,我们需要能够把页面上一个表格的内容导出到Excel中,然后用户修改后再导回到表格中的功能。 在这里,通过使用JQUERY+JQUERY UI+JSON-LIB+POI实现这个功能数据导出设计:通过使用JQUERY分析表格的...

    jsp页面数据通过excel导出

    "jsp页面数据通过excel导出"这个主题就是关于如何在Java Web应用程序中利用JSP(JavaServer Pages)技术和Apache POI库将动态生成的数据导出为Excel文件。Apache POI是一个强大的API,它允许开发者读写Microsoft ...

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

    在我们的场景中,JSP页面可能展示了一张由数据库查询结果或业务逻辑生成的表格。 JExcelAPI(jxl)是Java的一个开源库,专门用于读取和写入Excel文件。它可以方便地创建、修改和操作Excel工作表,包括设置单元格...

    jsp导入导出excel文件

    在Java Web开发中,JSP(JavaServer Pages)经常用于创建动态网页,而与之配合进行Excel文件导入导出的功能则常使用Apache POI库。Apache POI是Apache软件基金会的一个开源项目,提供了处理Microsoft Office格式文件...

    java及jsp下导出excel表格

    ### Java与JSP环境下导出Excel表格:深入解析与实践 在现代企业级应用开发中,数据导出至Excel表格是一种常见的需求,特别是在报表、数据分析和数据交换等场景中。Java作为一种广泛使用的后端开发语言,配合JSP...

    JSP中table导出多表头excel

    本主题聚焦于"JSP中table导出多表头excel"的技术实现,这是一种常见的需求,特别是在展示复杂表格数据时,多表头能够清晰地组织和展示信息。我们将探讨如何利用前台JavaScript技术来完成这一任务,并关注IE浏览器的...

    jsp程序excel导出功能

    本人试过了可以用,做jsp程序导出excel功能的可以参考下,下载后按照模版进行修改

    jsp导出excel一般问题及汇总

    在IT行业中,尤其是在Web开发领域,常常需要将数据导出为Excel格式,以便用户进行查看、分析或进一步处理。JSP(JavaServer Pages)作为Java的一种动态网页技术,经常被用来实现这种功能。本篇文章主要探讨了在使用...

    JSP中导入导出Excel文件.

    本文将深入探讨如何在JSP环境中实现Excel文件的导入与导出功能,利用Apache POI库作为主要工具。 ### Apache POI简介 Apache POI是一个开源的Java API,用于读写Microsoft Office格式的文件,如Word、Excel等。它...

    将jsp页面的表格导出为excel文件

    总结来说,将JSP页面的表格数据导出为Excel文件,需要结合前端的AJAX请求、后端的Java服务处理以及Apache POI库生成Excel文件。这个过程中需要注意数据的格式转换、文件流的处理以及用户体验的设计。通过熟练掌握...

    JSP页面统计模板(打印,导出为Excel,查询统计)

    **JSP页面统计模板**是一种基于JavaServer Pages (JSP)技术的应用,用于实现数据的打印、导出为Excel以及各种查询统计功能。在Web开发中,JSP被广泛用于创建动态网页,它允许开发者在HTML中嵌入Java代码,以实现...

    JSP运用模板导出Excel

    在 eMan 系统的开发过程中,大家普遍使用的导出 Excel 的方法为 JXL,该方法功能强大,但是实际使用颇为繁缛,开发人员需要在代码中定义每个 cell 的内容和格式,开发用户格式要求严格,样式复杂的报表,使用该方法...

Global site tag (gtag.js) - Google Analytics