`

spring里结合POI生成EXCEL

阅读更多

spring里支持从数据动态生成PDF/XSL,PDF的很多例子了,而Spring可以结合Apache的POI包,来生成EXCEL的。
首先到http://jakarta.apache.org/poi/index.html去下载poi包,将其放到工程目录的WEB-INF\LIB下。

POI的具体操作例子可以到http://jakarta.apache.org/poi/hssf/quick-guide.html这里去看。
其实讲到底是利用了spring的ResourceBundleViewResolver的。

下面列一个一本书上的例子,以供备考

song.java
package springxls;

public class Song {
 private String singer;
 private String title;

 public Song(String singer, String title) {
  this.singer = singer;
  this.title = title;
 }
 public String getSinger() {
  return singer;
 }
 public String getTitle() {
  return title;
 }
}

控制器SongPageController .java

public class SongPageController extends AbstractController {
 private String successView;
 public void setSuccessView(String successView) {
  this.successView = successView;
 }

 protected ModelAndView handleRequestInternal(HttpServletRequest request,
                                            HttpServletResponse response)
  throws Exception {
    Map map = new HashMap();
    List songList = new ArrayList();

    songList.add(new Song("James Blunt", "Goodbye My Lover"));
    songList.add(new Song("MC HotDog", "我行我素"));

    map.put("songlist", songList);

    return new ModelAndView(successView, map);

 }
}



生成Xsl文件
mport java.util.Iterator;
import java.util.List;
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.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 SongXlsPage extends AbstractExcelView {
 public void buildExcelDocument(
   Map model, HSSFWorkbook workbook,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {

  int sheetRowNum = 0;

  //取得模型数据
  List songs = (List)model.get("songlist");
  Iterator<Song> iter = songs.iterator();
  //创建工作表和标题
    HSSFSheet sheet = workbook.createSheet("MySong");
    HSSFRow titleRow = sheet.createRow((short) sheetRowNum++);
    HSSFCell titleCell = titleRow.createCell((short) 0);
    titleCell.setCellValue("My Songs");
    //创建一个空行
    sheet.createRow(sheetRowNum++);
  //创建数据表头
  String[] titles = {"Title", "Singer"};
    HSSFRow dataTitleRow = sheet.createRow((short) sheetRowNum++);
    for (int i = 0; i < titles.length; i++) {
      HSSFCell cell = dataTitleRow.createCell((short)i);
      cell.setCellValue(titles[i]);
    }
  //数据模型转换:创建表格数据
    for (int i = sheetRowNum; i < songs.size() + sheetRowNum; i++) {
     if (iter.hasNext()) {
       Song song = iter.next();
        HSSFRow dataRow = sheet.createRow((short)(i));
        HSSFCell cell1 = dataRow.createCell((short)0);
        //中文显示指定编码
        cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
        HSSFCell cell2 = dataRow.createCell((short)1);
        cell1.setCellValue(song.getTitle());
        cell2.setCellValue(song.getSinger());
     }
    }
 }
}

web.xml
<servlet>
    <servlet-name>frontcontroller</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>frontcontroller</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

froncontroller-servlet.xml<beans>
  <bean id="viewResolver"
  class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
    <property name="basename">
      <value>views</value>
    </property>
  </bean>

  <bean id="defaultHandlerMapping"
  class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <bean name="/viewsong-xls.do"
  class="springxls.SongPageController">
    <property name="successView" value="xlsSong"/>
  </bean>
</beans>


分享到:
评论

相关推荐

    使用POI生成EXCEL

    标题中的“使用POI生成EXCEL”指的是使用Apache POI库来创建Microsoft Excel文件的过程。Apache POI是一个开源项目,提供了Java API,可以用来读写Microsoft Office格式的文件,包括Excel(.xls和.xlsx格式)。这个...

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    poi 生成excel模板,下拉选项,批注。现在有模板中插入下拉信息

    Apache POI 是一个开源库,...通过结合这些类,你可以实现从服务器端动态生成带下拉选项和批注的 Excel 模板,供用户下载。这在数据报告、数据分析或者用户填写信息时非常有用,因为它提供了一种直观且易于操作的界面。

    poi导出excel生成下拉列表

    poi作为导出excel常用的工具,方便快捷。对于excel指定下拉列表的列,如何生成呢?本文提供如何生成下拉列表的excel列

    spring mvc easyui-POI导出excel封装源码

    后端接收到请求后,根据这些参数执行相应的SQL查询,然后使用POI生成Excel文件。生成的文件通常会以流的形式返回,前端接收到流后将其保存为本地文件。 整个过程中,EasyUI的美观界面可以提供良好的用户体验,而...

    java利用poi生成excel demo

    在"java利用poi生成excel demo"中,我们关注的是如何生成Excel文件。为了实现这个功能,你需要在项目中引入Apache POI的相关jar包。这些jar包通常包括poi-ooxml、poi-ooxml-schemas和poi-ooxml-lite等,它们提供了...

    Springboot+Poi实现Excel的导入导出

    本项目结合了Spring Boot和POI,实现了Excel文件的导入与导出功能,这在数据管理、报表生成、数据分析等领域十分常见。 首先,我们要理解Spring Boot如何与MyBatis集成来处理数据库操作。MyBatis是一个轻量级的持久...

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

    总结,通过SpringBoot结合Apache POI,我们可以轻松地实现Excel文件的导入和导出功能。在处理数据时,使用`ExcelFormatUtil`工具类能有效地处理各种单元格数据格式,确保数据处理的准确性和一致性。同时,要注意文件...

    java poi导出excel

    Java POI库是Apache软件基金会开发的一个开源项目,专门用于读写Microsoft Office格式的文件,包括Excel。在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现...

    springboot+poi导出指定格式Excel模板

    springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式Excel模板,完整项目,导出即用。springboot+poi导出指定格式...

    POI实现的excel的上传下载

    - **创建Excel**:在服务器端,根据需要生成新的数据,可以使用`Workbook`类的实例来创建一个新的Excel文件。创建工作表、行和单元格,然后填充数据。 - **响应下载**:设置Http响应头,指定Content-Type为...

    springboot+mybatis+poi 实现excel导入导出

    本篇文章将详细介绍如何利用SpringBoot和MyBatis结合Apache POI实现Excel的导入导出功能。 首先,SpringBoot是一个基于Spring框架的轻量级开发工具,它简化了新Spring应用的初始搭建以及开发过程。SpringBoot通过...

    poi实现生成excel,文件导出(备份)

    本项目采用SpringBoot、MyBatis和Apache POI框架,实现了从MySQL数据库读取数据并生成Excel文件,供用户下载备份的功能。下面将详细解释这些技术及其在该项目中的应用。 首先,SpringBoot是一个基于Spring框架的轻...

    springboot 导出excel 导入excel 生成excel 内容有点多

    生成Excel文件与导出类似,但通常会根据用户输入或数据库数据动态生成。可以创建一个模板,然后根据需要填充数据,最后将工作簿写入到响应流中供用户下载。 以上就是Spring Boot中处理Excel文件的基本操作,包括...

    Spring3MVC and POI

    标题 "Spring3MVC and POI" 涉及到两个关键...这个示例展示了如何在Spring 3 MVC的Controller中利用POI生成Excel报表,然后通过HTTP响应发送给客户端下载。这样的功能在数据分析、报表生成和数据导出等场景下非常实用。

    POI技术将excel解析导入mysql.pdf

    根据提供的文件信息,可以看出文档主要阐述了如何使用Apache POI技术解析2003-2007版本的Excel文档,并将解析后的数据导入到MySQL数据库中。文档中分别涉及到Java实体类的设计(User.java),以及数据访问层的设计...

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    总的来说,这个项目展示了如何在Java环境中,结合Spring Boot的便利性,利用MyBatis进行数据库操作,借助Apache POI处理Excel文件,以及Thymeleaf生成动态页面,实现数据的导入导出功能。这是一个综合性的Java Web...

    java POI生成word.zip

    - 结合Spring框架,可以构建Web服务,动态生成Word文档供用户下载。 以上就是关于使用Java POI生成Word文档的关键知识点,通过阅读并理解压缩包中的代码示例,你可以更深入地了解如何在实际项目中应用这些概念。

    ssm通过POI技术把excel数据导入mysql

    SSM(Spring、SpringMVC、...总之,通过SSM框架结合Apache POI,我们可以实现从Excel到MySQL的高效数据迁移。这个过程涉及到文件读取、数据转换、数据库操作以及事务管理等多个环节,是Java Web开发中常见的实用技能。

    springboot + poi导出指定格式Excel模板

    总结起来,SpringBoot结合Apache POI提供了一种强大而灵活的方式来导出指定格式的Excel模板。通过创建工作簿、工作表、行和单元格,我们可以轻松地构建和定制Excel文件,满足各种业务需求。在实际开发中,根据项目...

Global site tag (gtag.js) - Google Analytics