`
wzf7065
  • 浏览: 247555 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Spring MVC利用iText导出word文档(包含表格)以提供下载

 
阅读更多
原文来源:http://blog.sina.com.cn/s/blog_758084f801016ijn.html

[size=large][size=medium]
 
@RequestMapping(params="method=exportWord")
protected ModelAndView onSubmit(ModelMap modelMap,HttpServletRequest request,  
            HttpServletResponse response, HttpSession session)  
            throws Exception {
String checkDate=request.getParameter("checkDate");
OutputStream os = null;
String fileName=Calendar.getInstance().getTimeInMillis()+".doc";
response.setContentType("application/msword");  
       response.setHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(fileName, "UTF-8"));  
       InputStream inputStream =this.getWordFile(list);
       os = response.getOutputStream();  
       byte[] b = new byte[10240];  
       int length;  
       while ((length = inputStream.read(b)) > 0) {  
           os.write(b, 0, length);  
       }  
       os.flush();  
       os.close();  
       inputStream.close(); 
        return null;
}


public InputStream getWordFile() throws Exception{
Document doc=new Document(PageSize.A4);//创建DOC
ByteArrayOutputStream byteArrayOut=new ByteArrayOutputStream();//创建新字节输出流
RtfWriter2.getInstance(doc, byteArrayOut);//建立一个书写器与document对象关联,通过书写器可以将文档写入到输出流中
doc.open();//打开文档
RtfFont titleFont=new RtfFont("宋体", 14, Font.NORMAL, Color.BLACK);//标题字体
RtfFont contextFont=new RtfFont("宋体", 12, Font.NORMAL, Color.BLACK);//内容字体
Table table=new Table(3, 11);
//设定没列宽度
int[] widths={20,20,20};
table.setWidths(widths);
table.setWidth(100);//设置表格所在word宽度
table.setAlignment(Element.ALIGN_CENTER);//设置表格字体居中
table.setAutoFillEmptyCells(true);//设置表格自动填满
String titleString="机房维护值班检查表(上班)";
Paragraph title=new Paragraph(titleString, titleFont);
title.setAlignment(Element.ALIGN_CENTER);
doc.add(title);
//设置表头
Cell[] cellHeaders = new Cell[11];  
        cellHeaders[0] = new Cell(new Phrase("检查区域", contextFont));  
        cellHeaders[1] = new Cell(new Phrase("具体检查内容", contextFont));  
        cellHeaders[2] = new Cell(new Phrase("状态确认", contextFont));  
        for (int i = 0; i < 3; i++) {  
            cellHeaders[i].setHorizontalAlignment(Element.ALIGN_CENTER);  
            cellHeaders[i].setVerticalAlignment(Element.ALIGN_MIDDLE);  
            table.addCell(cellHeaders[i]);  
        }
        
        doc.add(table);
        doc.close();
        
        ByteArrayInputStream byteArray=new ByteArrayInputStream(byteArrayOut.toByteArray());
        byteArrayOut.close();
return byteArray;
}
[/size][/size]
分享到:
评论

相关推荐

    Java通过IText导出word和pdf所有jar

    标题提到的"Java通过IText导出word和pdf所有jar",意味着这个压缩包可能包含了一系列必要的Java库,这些库用于通过IText库导出PDF以及可能通过其他库(如Apache POI)导出Word文档。"包括spring相关jar"表明这个包还...

    Struts2+IText动态导出Word示例源码

    本示例主要展示了如何在Struts2框架下利用IText库动态导出Word文档。IText是一个开源Java库,它允许程序员在服务器端生成PDF、HTML、XML以及Word文档。在处理大量或复杂的数据时,动态导出Word文档非常有用,例如...

    itext导出PDF

    它提供了丰富的API,可以帮助开发者轻松地构建复杂的PDF文档,包括文本、图像、表格、超链接等元素。 1. **创建PDF文档** 使用iText,你可以从头开始创建一个全新的PDF文档。首先,你需要创建一个`Document`对象,...

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

    在实际开发中,Spring MVC还与其他Spring模块,如Spring AOP(面向切面编程)、Spring Security(安全)、Spring Data(数据访问)等深度集成,以提供更全面的解决方案。 对于PDF和Excel格式的输出,Spring MVC可以...

    easypoi教程总结

    easypoi教程总结为我们提供了关于easypoi的详细使用教程,涵盖了Excel、Word、HTML、PDF等多种文档的导出和导入操作,以及与Spring MVC框架的集成。通过学习本教程,我们可以快速掌握easypoi的使用,并应用于实际...

    利用iText在JSP中生成PDF报表.rar源码都有 和列子

    iText库提供了许多API,允许开发者创建PDF文档的各个元素,包括文本、图像、表格、链接、水印等。它支持对PDF文档进行样式控制,如字体、颜色、边距等。此外,iText还可以与数据库交互,将查询结果直接转换为PDF格式...

    spring mvc 整合ireport

    在Java Web开发中,Spring MVC作为主流的MVC框架,提供了一种优雅的方式来处理业务逻辑和视图展示。iReport则是一个用于设计JasperReports报表的强大工具。将两者整合,可以方便地在Spring MVC应用中动态生成复杂的...

    struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合.zip

    Spring 还包含了对其他模块的支持,如Spring MVC(用于Web开发)和Spring Data(用于数据库访问)。 JFreeChart 是一个用于生成高质量图表的Java库,支持各种类型的图表,包括折线图、柱状图、饼图等。在数据分析和...

    java实现导出excel、word、 pdf

    在Java编程中,导出Excel、Word和PDF是常见...总之,Java通过各种库如Apache POI和iText提供了强大的能力来处理Excel、Word和PDF文件的导出。理解并熟练运用这些库,可以帮助你实现高效的数据导出功能,满足业务需求。

    easypoi导入导出excel表格.pdf

    - **easypoi-web**: 这个包提供了与Spring MVC整合的视图工具,简化了在Spring Web环境下进行导出的操作,但非必须。 这里建议不要引入`spring-boot-starter-web`,因为`easypoi-web`已经提供了必要的Spring MVC...

    SSM+freemaker+jacob实现生成word文档并转换为PDF 另一个是错的

    开发者通常会创建一个FreeMarker模板文件,其中包含固定的格式和占位符,然后在Java代码中填充数据,生成Word文档。 Jacob库的使用是为了在Java环境中操作Word文档。它通过JNI桥接,调用Windows平台上的COM接口来...

    struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合

    例如,用户可以选择将数据显示在Excel表格中,或者以PDF格式下载,这通常通过第三方库如Apache POI(用于Excel)和iText(用于PDF)实现。 4. **整合优化**:由于描述中提到“包太大”,可能意味着项目包含了许多...

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

    3. Spring:Spring是一个全面的企业级应用框架,它不仅包含了IoC(控制反转)和AOP(面向切面编程)等核心特性,还提供了诸如数据访问、事务管理、安全控制、MVC框架等一系列工具和模块。Spring与Hibernate整合,...

    java报表tooffice文档 本包由java语言开发,实现java报表到office文档word,excel等的导出,是java项目开发中不可缺少的工具.

    在Web环境中,这些功能常被集成到Servlet或Spring MVC等框架中,用户可以通过HTTP请求触发报表生成和转换,并以下载链接的形式提供给用户。 6. **性能和优化**: 大量数据处理可能导致内存占用过高,因此需要合理...

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

    这两个库都提供了API来创建、修改PDF文档,包括添加文本、图片、表格等元素,从而实现从应用中导出PDF报告。 以上技术的整合可以创建一个完整的Java企业级应用,从用户界面到数据持久化,再到复杂的报表生成和输出...

    导出pdf文档.doc

    在本文中,我们将深入探讨如何在Spring MVC框架中导出PDF文档,这是一个常见的需求,特别是在企业级应用中用于生成报告或交易凭证。首先,我们分析给定的代码片段,了解其背后的逻辑。 在步骤1中,我们看到一个名为...

    Spring 实现excel及pdf导出表格示例

    总结来说,Spring MVC结合Apache POI和iText库,可以方便地实现在Web应用中导出Excel和PDF表格的功能。这在数据展示、报告生成等方面非常有用,使得用户可以方便地下载和查看数据。通过自定义视图类和模型数据,可以...

    spring_2.5_web.zip

    在Spring Web应用中,可能用于处理Excel或Word文档的生成和解析,例如生成报表或者导入导出数据。 3. **jasperreports-2.0.5.jar**: JasperReports是一个开源的报表引擎,可以生成PDF、HTML、XLS、CSV等多种格式的...

    resources.zip

    标题 "resources.zip" 提供的信息表明这是一个包含资源文件的压缩包,主要关注的是使用FreeMarker技术来导出不同类型的文档,如Excel、Word和PDF。FreeMarker是一个模板引擎,常用于Java环境中动态生成HTML、XML或...

    SpringMVC:生成Excel和PDF

    在IT行业中,SpringMVC是一个广泛使用的Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)设计模式支持。这篇博文“SpringMVC:生成Excel和PDF”主要探讨了如何在SpringMVC应用中创建并导出两种常见...

Global site tag (gtag.js) - Google Analytics