- 浏览: 863299 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
yukang1:
蚂蚁lovejing 写道我也出现与楼上相同的问题。查了一些资 ...
Spring中实现文件上传 -
史玉凤:
必须用ie浏览器
javascript获取客户端网卡MAC地址和IP地址和计算机名 -
蚂蚁lovejing:
我也出现与楼上相同的问题。查了一些资料,描述的跟楼主的博文差不 ...
Spring中实现文件上传 -
温柔一刀:
djlijian 写道最近也在研究redis,如何在项目中使用 ...
Redis 常见的性能问题和解决方法 -
djlijian:
最近也在研究redis,如何在项目中使用呢?感觉网上的资料太少 ...
Redis 常见的性能问题和解决方法
HTML页面并不总是向用户显示数据输出的最好方式,有时候需要生成不可改变的文件打印,PDF可能是种不错的选择。
Spring支持从数据动态生成PDF或Excel文件
下面这个简单实现的例子实现了spring输出PDF和Excel文件,为了使用Excel电子表格,你需要在你的classpath中加入poi-2.5.1.jar库文件,而对PDF文件,则需要iText.jar文件。它们都包含在Spring的主发布包中。
下面是测试项目代码:
1、控制器配置代码
Spring支持从数据动态生成PDF或Excel文件
下面这个简单实现的例子实现了spring输出PDF和Excel文件,为了使用Excel电子表格,你需要在你的classpath中加入poi-2.5.1.jar库文件,而对PDF文件,则需要iText.jar文件。它们都包含在Spring的主发布包中。
下面是测试项目代码:
1、控制器配置代码
xml 代码
- xml version="1.0" encoding="UTF-8"?>
- DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean id="beanNameViewResolver"
- class="org.springframework.web.servlet.view.BeanNameViewResolver" />
- <bean id="viewController" class="com.zhupan.spring.ViewController" />
- <bean id="urlMapping"
- class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="/view*.shtml">viewControllerprop>
- props>
- property>
- bean>
- beans>
3、用于Excel视图的视图子类化
为了在生成输出文档的过程中实现定制的行为,我们将继承合适的抽象类。对于Excel,这包括提供一个 org.springframework.web.servlet.view.document.AbstractExcelView的子类,并实现 buildExcelDocument方法。
java 代码
- package com.zhupan.view;
- 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);
- }
- }
- }
4、用于PDF视图的视图子类化
需要象下面一样继承org.springframework.web.servlet.view.document.AbstractPdfView,并实现buildPdfDocument()方法。
java 代码
- package com.zhupan.view;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.web.servlet.view.document.AbstractPdfView;
- import com.lowagie.text.Document;
- import com.lowagie.text.Paragraph;
- import com.lowagie.text.pdf.PdfWriter;
- public class ViewPDF extends AbstractPdfView {
- 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)));
- }
- }
5、其他文件
1)控制器ViewController
1)控制器ViewController
java 代码
- package com.zhupan.spring;
- 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.zhupan.view.ViewExcel;
- import com.zhupan.view.ViewPDF;
- public class ViewController extends MultiActionController {
- 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);
- }
- 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);
- }
- }
2)web.xml
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>springPDFTestdisplay-name>
- <servlet>
- <servlet-name>springPDFTestservlet-name>
- <servlet-class>
- org.springframework.web.servlet.DispatcherServlet
- servlet-class>
- <load-on-startup>1load-on-startup>
- servlet>
- <servlet-mapping>
- <servlet-name>springPDFTestservlet-name>
- <url-pattern>*.shtmlurl-pattern>
- servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jspwelcome-file>
- welcome-file-list>
- web-app>
3)index.jsp
<a href="viewPDF.shtml">PDF视图打开 a>
<br>
<a href="viewExcel.shtml">Excel视图打开a>
评论
4 楼
温柔一刀
2006-10-23
里面有几个依赖.jar文件
打包太大了
所以就把代码全部贴出来了
打包太大了
所以就把代码全部贴出来了
3 楼
imlinf
2006-10-23
怎么不提打包的源代码下载
2 楼
imlinf
2006-10-23
<!--
</table>
</table>
1 楼
javaway
2006-10-11
<p>thanks</p>
发表评论
-
这个action怎么测试?
2007-03-06 18:43 2801action类大概样子如下: java 代码 p ... -
webwork 下载文件的单元测试问题
2007-03-06 09:18 4572写了一个action负责文件下载的方法,大概代码如下这样子: ... -
使用OpenSessionInView模式时的一个异常问题解决方法
2006-10-15 15:04 10122Spring+Hibernate中OpenSessionInV ... -
C3P0连接池详细配置
2006-07-09 04:24 3717<c3p0-config> <defa ... -
Spring AOP中文教程
2006-07-13 23:01 2566AOP正在成为软件开发的下一个圣杯。使用AOP,你可以将 ... -
iBatis使用总结
2006-08-10 15:50 2513持久层使用了iBatis后,大家的编码风格统一了,可以 ... -
iBatis入门例子
2006-08-11 14:05 10537iBatis 是一个 O/R Mapping 解决方案, i ... -
Spring中实现文件上传
2006-08-17 10:28 48573实现图片上传 用户必须能够上传图片,因此需要文件上传的 ... -
spring对commons_fileupload和cos_fileuplaod的封装
2006-08-22 09:21 2957spring对commons_fileupload和cos_ ... -
Spring-Validator 说明文档
2006-08-22 10:57 7840Spring-Validator 的主要意图是为 Spring ... -
Spring+Hibernate中OpenSessionInView模式运用
2006-09-20 14:54 3363Spring+Hibernate中, 如果不用OpenSes ... -
sping 、jxl 生成excel文件下载
2006-10-08 18:12 5142ExcelBean.java文件用于生成Excel java ... -
ibatis 自带分页方法
2006-08-28 19:45 5290ibatis自带函数: java 代码 ... -
关于acegi安全框架登陆后转向的疑问
2006-10-03 09:50 5004我想实现的要求是这样的:有几种不同的角色登陆使用系统,但是登陆 ... -
执行几次查询之后就不能查询了,页面不动了
2006-09-18 14:43 23027每执行依次查询,控制台就有这样的警告 java代码如下: p ... -
spring、ibatis控制oracle分页的问题
2006-08-30 09:46 12051开发采用spring+ibatis,数据库用oracle,数据 ...
相关推荐
这个例子展示了如何使用 Spring MVC 和相关的库(Apache POI 和 iText)来动态生成 Excel 和 PDF 文件,提供给用户下载。整个流程涉及到 Spring MVC 的配置、控制器的编写以及与第三方库的集成,实现了从数据到视图...
这篇博文“SpringMVC:生成Excel和PDF”主要探讨了如何在SpringMVC应用中创建并导出两种常见文档格式——Excel和PDF。 Excel是Microsoft Office套件中的一个电子表格程序,而PDF(Portable Document Format)则是一...
本项目是一个基于Spring Boot框架实现的实用工具,用于将Microsoft Office的三种常见文件格式——Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)转换为PDF格式。这个小Demo提供了完整的功能,无需任何水印,...
在Spring框架中,实现Excel和PDF表格的导出是一项常见的需求,尤其在数据报表和数据分析场景中。本文将详细介绍如何利用Spring MVC来完成这个功能。 首先,我们关注Excel的导出。在提供的代码片段中,可以看到使用...
这两个依赖分别用于处理低级别(如HSSF)和高级别(如XSSF,适用于Excel 2007及以上版本)的Excel文件。 接下来,我们创建一个名为`ExcelFormatUtil`的工具类,这个类主要负责对单元格的数据格式进行判断,并返回...
在Spring Boot中,我们可以创建一个服务,该服务接受Word模板文件和数据,然后使用POI API将数据填入模板中的占位符,最后生成一个新的Word文档。 对于PDF文件的处理,我们可以使用iText库。iText是一个强大的PDF...
在Java中,可以使用Apache POI库来操作Excel文件,iText库来生成PDF文件。 导出Excel功能通常涉及到读取数据源,如数据库或文件,然后将数据填充到Excel工作表中。而导出PDF则需要将HTML、文本或图像转换成PDF格式...
标题中的“完美整合框架包”指的是一个集合了多个核心Java技术的综合应用,这些技术包括Spring、SpringMVC、MyBatis以及相关的辅助功能,如文件上传下载、邮件服务、短信支持、PDF和Excel的生成。这个框架整合的目的...
Excel提供了丰富的表格和数据分析工具,而PDF则常用于保证文件在不同设备上的显示一致性。 另一个标签 "Excel PDF" 表明了转换的目标格式。PDF(Portable Document Format)是一种通用的文件格式,能够保留原始文档...
生成Word、PDF和Excel文件则涉及不同的技术栈。对于Word,我们可以利用`python-docx`(Python)或Apache POI(Java)等库,它们允许我们操作Word文档的各个元素,如段落、表格、图片等。PDF生成通常有多种选择,如...
- **easypoi-base**: 导入导出包,是核心功能所在,它提供了数据和Excel文件互相转换的核心实现。 - **easypoi-web**: 这个包提供了与Spring MVC整合的视图工具,简化了在Spring Web环境下进行导出的操作,但非必须...
Struts、Hibernate、Spring、JFreeChart以及Excel和PDF导出是Java开发中常见的技术,它们在企业级应用开发中有着广泛的应用。这些技术的整合能够构建出功能强大的Web应用程序,提供数据展示、数据处理以及文件导出等...
7. **PDF文档操作**:除了创建,OpenPDF还能读取和修改已存在的PDF文件,比如添加、删除、移动页面,或者合并多个PDF文件。 8. **事件处理**:开发者可以通过注册监听器来处理PDF生成过程中的各种事件,如页眉页脚...
通过它,开发者可以创建新的工作簿,添加工作表,设置单元格值,样式,公式等,实现从程序中动态生成Excel报表。 6. **导出PDF**:PDF(Portable Document Format)是一种通用的文件格式,常用于保存文档的原始布局...
在Java编程中,导出Excel、Word和PDF是常见...总之,Java通过各种库如Apache POI和iText提供了强大的能力来处理Excel、Word和PDF文件的导出。理解并熟练运用这些库,可以帮助你实现高效的数据导出功能,满足业务需求。
它提供了强大的功能,能够方便地进行Excel、Word和PDF文件的导出操作,支持大数据量的导出、模板导出以及多种格式的转换。 ## 项目的主要特性和功能 ### Excel导出 Excel导出支持常规Excel导出、大数据量导出、...
在本文档中,我们将深入探讨如何使用Java技术栈实现导出Excel文件的功能...以上知识点涵盖了从Java后端文件生成、数据处理到前端页面触发和下载文件的整个过程,展现了在Java技术栈中实现Excel文件导出功能的技术细节。
这个项目结合了Spring Boot的Web开发能力、Java的文件处理和二维码生成技术,以及前端的交互设计,是一个综合性的实践案例,有助于开发者提升在这些领域的技能。通过学习和实践,开发者可以更好地理解如何将这些技术...