从springMVC项目中导出数据到Excel表格
2013-01-05 13:16
267 查看
核心思路:
视图:给spring提供excel视图支持、数据:查询业务数据、载体:poi组件构建表格样式
1.给项目增加excel支持,项目中导入poi-*.jar等操作excel文件的jar文件(我使用的是poi3.8版本的)
poi-3.8-20120326.jar
poi-excelant-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
poi-ooxml-schemas-3.8-20120326.jar
poi-scratchpad-3.8-20120326.jar
2.扩展AbstractExcelView抽象类,实现自己的excel类,需要实现buildExcelDocument方法,我实现的类是com.ttpod.stusys.common.excel.ExcelRevenueReportView,主要代码如下:
List<Log> logList = (List<Log>) logList;//从控制器Controller中返回的业务数据
HSSFSheet sheet = workbook.createSheet("tableTitle"); //创建表格
HSSFRow header = sheet.createRow(0);//定义表格的表头
header.createCell(0).setCellValue(cellTitle);//创建表头列
HSSFRow row = sheet.createRow(rowNum); //创建表格行
row.createCell(0).setCellValue(从logList中解析的数据);//创建单元格并且给其赋值
3.在spring-servlet.xml中配置excel视图,代码片段如下:
No1.
<!-- 对模型视图名称的解析,在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp">
<!-- 此配置优先级要最高 -->
<property name="order" value="1" />
</bean>
No2.
<!-- 从一个独立的xml配置文件中引用excel视图展示类(当然也可以直接在spring-servlet.xml文件中定义excel视图展示类) -->
<bean class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="location">
<!-- 此视图在src目录下 -->
<value>classpath:spring-excel-views.xml</value>
</property>
<property name="order" value="10" />
</bean>
No3.
<!-- 定义excel视图展示类(引用上面第二步骤实现的excel类) -->
<bean id="view_excel"
class="com.ttpod.stusys.common.excel.ExcelRevenueReportView">
</bean>
No.4
也可以不创建spring-excel-views.xml文件,直接在spring-servlet.xml文件中定义如下内容:
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="10"/>
<bean id="view_excel"
class="com.ttpod.stusys.common.excel.ExcelRevenueReportView">
</bean>
4.在控制器Controller中返回excel格式的视图,代码片段如下:
@Controller
@RequestMapping("/view/")
public class ExportController{
/**
* 展示excel视图的方法
/
@RequestMapping("/excel")
protected ModelAndView excel(...){
String filename = new String("中文文件名称".getBytes(),"iso8859-1");
response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
List<Log> logList = 调用业务层查询日志数据
//view_excel是在spring配置文件里配置的ExcelRevenueReportView,第二个和第三个参数采用键值对方法提供给buildExcelDocument方法使用
return new ModelAndView("view_excel","logList",logList);
}
}
5.打开浏览器访问,会以下载文件的方式下载excel数据
http://127.0.0.1:8080/项目部署名称/view/excel.do
视图:给spring提供excel视图支持、数据:查询业务数据、载体:poi组件构建表格样式
1.给项目增加excel支持,项目中导入poi-*.jar等操作excel文件的jar文件(我使用的是poi3.8版本的)
poi-3.8-20120326.jar
poi-excelant-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
poi-ooxml-schemas-3.8-20120326.jar
poi-scratchpad-3.8-20120326.jar
2.扩展AbstractExcelView抽象类,实现自己的excel类,需要实现buildExcelDocument方法,我实现的类是com.ttpod.stusys.common.excel.ExcelRevenueReportView,主要代码如下:
List<Log> logList = (List<Log>) logList;//从控制器Controller中返回的业务数据
HSSFSheet sheet = workbook.createSheet("tableTitle"); //创建表格
HSSFRow header = sheet.createRow(0);//定义表格的表头
header.createCell(0).setCellValue(cellTitle);//创建表头列
HSSFRow row = sheet.createRow(rowNum); //创建表格行
row.createCell(0).setCellValue(从logList中解析的数据);//创建单元格并且给其赋值
3.在spring-servlet.xml中配置excel视图,代码片段如下:
No1.
<!-- 对模型视图名称的解析,在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/" p:suffix=".jsp">
<!-- 此配置优先级要最高 -->
<property name="order" value="1" />
</bean>
No2.
<!-- 从一个独立的xml配置文件中引用excel视图展示类(当然也可以直接在spring-servlet.xml文件中定义excel视图展示类) -->
<bean class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="location">
<!-- 此视图在src目录下 -->
<value>classpath:spring-excel-views.xml</value>
</property>
<property name="order" value="10" />
</bean>
No3.
<!-- 定义excel视图展示类(引用上面第二步骤实现的excel类) -->
<bean id="view_excel"
class="com.ttpod.stusys.common.excel.ExcelRevenueReportView">
</bean>
No.4
也可以不创建spring-excel-views.xml文件,直接在spring-servlet.xml文件中定义如下内容:
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="10"/>
<bean id="view_excel"
class="com.ttpod.stusys.common.excel.ExcelRevenueReportView">
</bean>
4.在控制器Controller中返回excel格式的视图,代码片段如下:
@Controller
@RequestMapping("/view/")
public class ExportController{
/**
* 展示excel视图的方法
/
@RequestMapping("/excel")
protected ModelAndView excel(...){
String filename = new String("中文文件名称".getBytes(),"iso8859-1");
response.setHeader("Content-Disposition","attachment;filename="+filename+".xls");
List<Log> logList = 调用业务层查询日志数据
//view_excel是在spring配置文件里配置的ExcelRevenueReportView,第二个和第三个参数采用键值对方法提供给buildExcelDocument方法使用
return new ModelAndView("view_excel","logList",logList);
}
}
5.打开浏览器访问,会以下载文件的方式下载excel数据
http://127.0.0.1:8080/项目部署名称/view/excel.do
相关文章推荐
- 从springMVC项目中导出数据到Excel表格
- 项目实训涉及的获取数据库数据,导出生成Excel表格(使用Nutz框架)
- 基于springMvc的maven项目,使用jxl导出excel表格
- Asp.net中导出数据到Excel表格
- C#中将DataGridView中查询出来的数据使用DataTable导出为Excel表格(通过NPOI)
- Web项目中导出数据的一个控件类
- jsp页面导出用jxl方式导出数据到excel表格并下载保存(第二种直接用java类实现)
- PHP导出数据为excel表格
- 循序渐进开发WinForm项目(5)--Excel数据的导入导出操作
- SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)
- redis cannot assign requested address mysql;数据表导出为csv格式;C++项目导入eclipse流程
- ListView 数据导出成Excel表格
- 从Jsp页面导出数据到Excel表格中
- 数据导出excel表格和Word文档
- DBGrid数据导出到Excel表格
- Java将数据导出到excel表格中
- asp.net把数据导出到Excel表格的代码
- 把数据导出到Excel表格中的方式
- SpringMVC列表数据导出
- web项目导出excel表格