`
limingcai
  • 浏览: 112722 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring 生成pdf和 excel ,配置web.xml的正确配置

阅读更多
package com.execl;

import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.servlet.view.document.AbstractExcelView;


public class ViewExcel extends AbstractExcelView {

  public void buildExcelDocument(
             Map model, HSSFWorkbook workbook,
             HttpServletRequest request, HttpServletResponse response)
    throws Exception {
 
       HSSFSheet sheet = workbook.createSheet("list");
       sheet.setDefaultColumnWidth((short) 12);
      
      
       HSSFCell cell = getCell(sheet, 0, 0);
       setText(cell, "Spring Excel test");
 
       HSSFCellStyle dateStyle = workbook.createCellStyle();
       dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
       cell = getCell(sheet, 1, 0);
       cell.setCellValue(new Date());
       cell.setCellStyle(dateStyle);
       getCell(sheet, 2, 0).setCellValue(458);
 
       HSSFRow sheetRow = sheet.createRow(3);
       for (short i = 0; i < 10; i++) {
             sheetRow.createCell(i).setCellValue(i * 10);
       }


  }
 
}


//////////////
public class ViewPDF extends AbstractPdfView {
    @SuppressWarnings("unchecked")
public void buildPdfDocument(Map model, Document document,
            PdfWriter writer, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        List list = (List) model.get("list");

        for (int i = 0; i < list.size(); i++)
            document.add(new Paragraph((String) list.get(i)));
    }

}



////////////////////
package com.Controller.examp;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.execl.ViewExcel;
import com.pdf.ViewPDF;


public class ViewController extends MultiActionController{
    
     @SuppressWarnings("unchecked")
public ModelAndView viewPDF(HttpServletRequest request, HttpServletResponse response) throws Exception {
       List list = new ArrayList();
       Map model=new HashMap();
       list.add("test1");
       list.add("test2");
       model.put("list",list);
       ViewPDF viewPDF=new ViewPDF();
       return new ModelAndView(viewPDF,model);
  }
    
      @SuppressWarnings("unchecked")
public ModelAndView viewExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
            List list = new ArrayList();
        Map model=new HashMap();
        list.add("test1");
        list.add("test2");
        model.put("list",list);
        ViewExcel viewExcel=new ViewExcel();
        return new ModelAndView(viewExcel,model);
      }
}


以下是 web.xml 配置   /////////////////


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
 
    <display-name>SprignExcelPdf</display-name> 
    <listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener  
    </listener-class>
    </listener>

    <servlet> 
        <servlet-name>ViewController</servlet-name> 
        <servlet-class> 
            org.springframework.web.servlet.DispatcherServlet  
        </servlet-class> 
   </servlet> 
 
    <servlet-mapping> 
        <servlet-name>ViewController</servlet-name> 
        <url-pattern>*.shtml</url-pattern> 
    </servlet-mapping>
 
    <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
   </welcome-file-list> 

</web-app>

以下是 application.xml 配置   /////////////////

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" />
       <bean id="viewController" class="com.Controller.examp.ViewController" />
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/view*.shtml">viewController</prop>
            </props>
        </property>
    </bean>
</beans>



每一个servlet对应一个<servlet>标记和一下<servlet-mapping> 如果web服务目录下有多个Servlet,可添加这些标记,
<servlet-name> 子标记表示Tomcat服务器创建Servlet对象的名字.
<url-pattern> 子标记表示通过url怎样访问该servlet.
当用户请求服务器运行一个servelet对象 时,需根据web.xml中<servlet-mapping>
标记指定的格式输入请求.
        <servlet-name>ViewController</servlet-name> 
        <url-pattern>/lookbook</url-pattern> 
像这样,只能 http://localhost:8080/example/lookbook  这样才能访问

里面的包自己导,刚开始的时候是 我是包导错了,搞了一天, 现在是    <listener>
    <listener-class>
          org.springframework.web.context.ContextLoaderListener  
    </listener-class>
    </listener>

这个东西刚开始没有加, 原来会报错,一直报文件找不到,NND网上找的不全,没有指出来,所以,加上这段,
ViewController-servlet.xml这个xml文件什么都没有,但是要建,如果没有的话,他会报找不到这个文件,搞不明白是什么。重新建这个后,
就没有问题了,一切到此结束,离下班还有3个小时。
分享到:
评论

相关推荐

    用spring MVC 生成Excel和PDF.docx

    这个例子展示了如何使用 Spring MVC 和相关的库(Apache POI 和 iText)来动态生成 Excel 和 PDF 文件,提供给用户下载。整个流程涉及到 Spring MVC 的配置、控制器的编写以及与第三方库的集成,实现了从数据到视图...

    word、excel、ppt转pdf,spring boot小demo

    总的来说,这个Spring Boot小Demo提供了一个便捷的解决方案,让用户能够在服务器端将Word、Excel和PowerPoint文件快速转换为PDF,无需安装额外的软件,这对于需要在Web应用中处理文档转换的场景非常有用。...

    Spring MVC 学习笔记 十二 PDF/Excel格式输出

    对于PDF和Excel格式的输出,Spring MVC可以通过Apache POI库来处理Excel,使用Flying Saucer或iText库来生成PDF。这些库能够将HTML内容转换为所需的格式,方便导出和下载。 总的来说,Spring MVC是Spring框架的重要...

    SpringMVC:生成Excel和PDF

    其次,生成PDF文件通常依赖于iText库。在这个项目中,使用的版本包括iText-2.1.2.jar和iTextAsian.jar。iText是一个强大的PDF处理库,它提供了各种方法来创建、编辑和操作PDF文档。iTextAsian.jar是针对亚洲语言(如...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 ...

    Spring中文帮助文档

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    Spring API

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    JasperReport浏览器输出PDF为空白页的解决方案

    标题中的“JasperReport浏览器输出PDF为空白页”通常意味着在使用JasperReport生成PDF报表时,浏览器未能正确显示内容。这可能是由多种原因引起的,包括但不限于以下几点: 1. **XML解析错误**:`test.jrxml`文件是...

    Spring 2.0 开发参考手册

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    spring chm文档

    14.6. 文档视图(PDF/Excel) 14.6.1. 简介 14.6.2. 配置和安装 14.7. JasperReports 14.7.1. 依赖的资源 14.7.2. 配置 14.7.3. 构造ModelAndView 14.7.4. 使用子报表 14.7.5. 配置Exporter的参数 15. 集成...

    完美整合框架包(Spring+SpringMVC+mybitas+文件上传下载+邮件+短信支持+生成PDF、Excel)

    生成PDF和Excel文件的功能常用于报表或者数据导出。PDF生成可以借助iText、Apache PDFBox等库,而Excel生成则可以使用Apache POI库。在SSM框架中,可以通过Controller接收请求,调用后台服务生成文件,然后以流的...

    Struts2 + JasperReport应用一:导PDF,Excel,HTML显示

    首先,我们需要确保在项目中引入了必要的库,这可能包括Struts2的核心库、JasperReport库以及相关的依赖,例如iText(用于PDF生成)和Apache POI(用于Excel生成)。 1. **Struts2配置**: - 在`struts.xml`配置...

    struts,hibernate,spring,jfreechart,导出excel,导出pdf 完美整合

    Struts、Hibernate、Spring、JFreeChart以及Excel和PDF导出是Java开发中常见的技术,它们在企业级应用开发中有着广泛的应用。这些技术的整合能够构建出功能强大的Web应用程序,提供数据展示、数据处理以及文件导出等...

    ireport+springMVC 报表导出pdf excel

    总之,结合iReport的报表设计能力和SpringMVC的Web应用处理能力,我们可以方便地实现在Web应用中导出报表为PDF和Excel的功能,满足用户对数据的多样化需求。这一过程涉及到的技术和细节较多,需要开发者具备扎实的...

    java实现导出excel、word、 pdf

    在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...

    SpringMVC与iReport整合开发时的PDF中文显示处理

    在`jasperReport生成PDF中文依赖包`中,可能包含`.jrxml`文件,这是iReport的报表定义文件,用于描述报表的布局和数据来源。在设计报表时,要确保字体设置支持中文,例如使用SimSun(宋体)或其他支持UTF-8编码的...

    POI word docx 动态生成.pdf

    在实际应用中,POI可以配合Spring框架和其他Java技术栈一起使用,例如结合Spring MVC来实现Web应用中的文档生成和下载功能。同时,POI还支持Apache Commons Lang和Apache Commons IO等常用的Java库,方便处理文本和I...

    jasperreport生成多种格式的报表

    要生成PDF格式的报表,需要使用JRPdfExporter类,通过设置response的Content-Type和Content-Disposition头来控制报表的下载和打开方式。具体代码如下: ```java &lt;%@ page import="net.sf.jasperreports.engine.*" %...

    web开发常用jar

    Hibernate使用dom4j解析XML配置文件和XML映射元文件。必需的。 ehcache-1.2.jar Hibernate可以使用不同cache缓存工具作为二级缓存。EHCache是缺省的cache缓存工具。如果没有其它的可选缓存工具,则为必需的。 ...

    Spring3 MVC with Japer Report Demo

    本示例将探讨如何在Spring3 MVC项目中集成JasperReport,以实现动态生成PDF报表的功能。 首先,让我们了解Spring MVC。Spring MVC提供了一个模型-视图-控制器(MVC)架构,使得开发者能够清晰地分离业务逻辑、数据...

Global site tag (gtag.js) - Google Analytics