1.在xml中配置:
<!--基金基本资料 Excel导出 -->
<bean id="TestExcelController" class="cn.fund.system.Xsl.impl.TestExcelController">
<property name="commandClass">
<value>cn.fund.code.model.JzhqView</value>
</property>
</bean>
<bean id="ListInfoUseExcel" class="cn.fund.system.Xsl.impl.ListInfoUseExcel"></bean>
<prop key="/excel.dos">TestExcelController</prop>
2。java类
package cn.fund.system.Xsl.impl;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.springframework.web.servlet.view.document.AbstractExcelView;
/**
*
* @Class : ListInfoUseExcel.java
* @author: Duangh
* @Time : 2008-7-21 14:27:02
*/
public class ListInfoUseExcel extends AbstractExcelView{
protected void buildExcelDocument(Map model,
HSSFWorkbook workbook2,
HttpServletRequest request,
HttpServletResponse response)throws Exception{
//设置response方式,使执行此controller时候自动出现下载页面,而非直接使用excel打开
response.reset();
response.setContentType("APPLICATION/vnd.ms-excel");
//注意,如果去掉下面一行代码中的attachment; 那么也会使IE自动打开文件。
response.setHeader("Content-Disposition", "attachment;filename=\""+getFileName()+".xls"+"\"");
//构造数据
Student stu1=new Student("gaohui1","male1","20060101",1);
Student stu2=new Student("gaoxiang2","male2","20060102",2);
Student stu3=new Student("gaoxiang3","male3","20060103",3);
Student stu4=new Student("gaoxiang4","male4","20060104",4);
Student stu5=new Student("gaoxiang5","male5","20060105",5);
ArrayList stuList=new ArrayList();
stuList.add(stu1);
stuList.add(stu2);
stuList.add(stu3);
stuList.add(stu4);
stuList.add(stu5);
//设置第一个工作表的名称为name
String name = "studentList";
// //产生Excel表头
// HSSFSheet sheet=workbook.createSheet("studentList");// 产生工作表对象---------表单
// HSSFRow header=sheet.createRow(0); //第0行
// // 为了工作表能支持中文,设置字符编码为UTF_16
// workbook.setSheetName(0,name,HSSFWorkbook.ENCODING_UTF_16);
// // 设置字体
// HSSFFont font = workbook.createFont();
// font.setFontHeightInPoints((short)10); //字体高度
// //font.setColor(HSSFFont.COLOR_RED); //字体颜色
// font.setFontName("黑体"); //字体
// font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
//
// // 设置单元格类型样式
// HSSFCellStyle cellStyle = workbook.createCellStyle();
// cellStyle.setFont(font);
// cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
// cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//带边框
// cellStyle.setWrapText(true);
// cellStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);//行底色
// cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//
// HSSFCellStyle cellStyle2 = workbook.createCellStyle();
// cellStyle2.setAlignment(HSSFCellStyle.ALIGN_LEFT); //水平布局:居左
// cellStyle2.setWrapText(true);
HSSFWorkbook workbook=new HSSFWorkbook();// 产生工作薄对象-------文档对象
HSSFSheet sheet=workbook.createSheet();// 产生工作表对象---------表单
// 设置第一个工作表的名称为name2
// 为了工作表能支持中文,设置字符编码为UTF_16
workbook.setSheetName(0,name,HSSFWorkbook.ENCODING_UTF_16);
// 设置字体
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short)10); //字体高度
//font.setColor(HSSFFont.COLOR_RED); //字体颜色
font.setFontName("黑体"); //字体
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
//font.setItalic(true); //是否使用斜体
//font.setStrikeout(true); //是否使用划线
// 设置单元格类型样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//带边框
cellStyle.setWrapText(true);
cellStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);//行底色
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFCellStyle cellStyle2 = workbook.createCellStyle();
cellStyle2.setAlignment(HSSFCellStyle.ALIGN_LEFT); //水平布局:居左
cellStyle2.setWrapText(true);
//产生一行
HSSFRow header=sheet.createRow((short)0);
//产生标题列
header.createCell((short)0).setCellValue("name");
header.createCell((short)1).setCellValue("sex");
header.createCell((short)2).setCellValue("age");
header.createCell((short)3).setCellValue("greade");
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yyyy"));
//填充数据
int rowNum=1;
for (Iterator iter = stuList.iterator(); iter.hasNext();){
Student element = (Student) iter.next();
HSSFRow row=sheet.createRow(rowNum++);
row.createCell((short)0).setCellValue(element.getName().toString());
row.createCell((short)1).setCellValue(element.getSex().toString());
row.createCell((short)2).setCellValue(element.getAge().toString());
row.getCell((short)2).setCellStyle(cellStyle);
row.createCell((short)3).setCellValue(element.getGread());
}
OutputStream os = response.getOutputStream();
workbook.write(os);
os.flush();
os.close();
}
/**
* 根据本地时间获得文件名称,精确到毫秒。
* @return .xls文件名
*/
public String getFileName(){
SimpleDateFormat datetime = new SimpleDateFormat("yyyyMMddhhmmssSSS");
Date time = new Date();
String name = datetime.format(time);
return name;
}
}
package cn.fund.system.Xsl.impl;
public class Student {
private String name;
private String sex;
private String age;
private int gread;
public Student(String name,String sex,String age,int gread){
this.name = name;
this.sex = sex;
this.age = age;
this.gread = gread;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public int getGread() {
return gread;
}
public void setGread(int gread) {
this.gread = gread;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
package cn.fund.system.Xsl.impl;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import cn.fund.system.action.BaseAction;
/**
* spring 控制器,返回逻辑名“ListInfoUseExcel”
* @Class : TestExcelController.java
* @author: Duangh Email:gaohuisoft@hotmail.com
* @Time : 2008-7-21 13:56:34
*/
public class TestExcelController extends BaseAction {
public ModelAndView showFormImpl(HttpServletRequest request,
HttpServletResponse response, BindException errors) throws Exception {
ListInfoUseExcel liu = new ListInfoUseExcel();
HSSFWorkbook workbook=new HSSFWorkbook();
Map model = new HashMap();
liu.buildExcelDocument(model,workbook,request,response);
return null;
}
}利用java操作xls文件总结:
1.jxl行对于poi功能弱一点,但是jxlAPI对中文支持很好,并不依赖于windows系统,即使运行于Linux下,它同样能够处理excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。
分享到:
相关推荐
spring boot excel导出 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过...
一个简单的示例,演示如何在Spring Boot项目中使用POI来实现Excel的导入导出功能。 导出Excel 准备数据: 首先,你需要有一份员工数据,可以是从数据库中查询得到的,也可以是已有的数据集合。 创建Excel文件: 使用...
在本文中,我们将深入探讨如何使用Jett和Spring MVC框架来实现...如果你需要更多关于Jett和Spring MVC的详细信息,可以参考我的CSDN博客《Jxls+Spring MVC实现Excel导出》,在那里我会进一步探讨相关技术和最佳实践。
"Jxls+Spring MVC实现Excel导出"的主题聚焦于如何利用Jxls库和Spring MVC框架来实现这一功能。Jxls是一个强大的Java库,它扩展了Apache POI,使得在Excel模板上进行编程变得简单,而Spring MVC是Spring框架的一部分...
springboot实现Excel文件导入与导出功能, 本次任务主要实现两个功能,一是如何将Excel文件导入后台服务器,解析文件中的内容,并且存入数据库中。二是如何将后台数据库中的数据导出为Excel表格。经过调研,实现此...
本篇文章将深入探讨如何基于Spring实现基于Excel模板的导入导出功能。 首先,我们来理解“基于excel模板的导入导出”这个概念。这意味着系统允许用户使用预先定义的Excel模板进行数据的导入和导出。模板通常包含了...
在本项目中,"spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据...
在Java开发中,Spring Boot框架提供了许多便利的功能,其中之...通过上述步骤,你可以实现一个简单但功能强大的Excel导出功能。在实际项目中,还可以根据需求扩展,比如增加模板支持、多Sheet导出、数据格式化等功能。
在Java编程领域,实现Excel的导入导出功能是一项常见的任务,尤其在数据分析、报表生成以及数据交换等场景中。本文将深入探讨如何使用Java来处理Excel文件,包括读取、写入以及转换Excel数据。 首先,Java实现Excel...
Spring MVC 是一个强大的Java web开发框架,用于构建可维护、高性能和灵活的Web应用程序。在“spring MVC 导出excel...通过不断实践和优化,Spring MVC结合Apache POI可以实现功能强大且用户体验良好的Excel导出功能。
通过本文的学习,我们了解了如何使用Apache POI库在Spring Boot项目中实现列表数据导出为Excel文件的功能。这种方法不仅提高了工作效率,也为数据分析和报告制作提供了极大的便利。希望本文能帮助您更好地理解和应用...
"Easyui Spring Mvc导出Excel"是一个常见的话题,它涉及了三个关键技术:Easyui、Spring MVC以及Excel导出。 Easyui是一个基于jQuery的UI框架,提供了一系列美观且易于使用的组件,如表格、下拉框、对话框等。在Web...
此外,功能可以扩展,如支持不同版本的Excel,或者添加导出功能。 以上就是使用Spring框架实现Excel批量导入数据的基本步骤。通过这种方式,可以极大地提高数据录入的效率,降低手动操作的工作量,尤其适用于需要...
1. **Excel导出**: - 使用POI库,可以创建HSSFWorkbook对象来代表一个Excel工作簿,HSSFSheet表示工作表,HSSFRow表示行,HSSFCell表示单元格。通过这些对象,我们可以填充数据到Excel文件。 - 数据查询:调用...
Java 实现 Excel 导入导出 ...在 Struts2+Spring 框架中实现 Excel 导入导出需要使用 POI 库来读取和写入 Excel 文件中的数据,并对数据进行处理。使用 POI 库可以简化 Excel 文件的操作,并提高程序的性能。
总结来说,Spring Boot结合Apache POI库可以方便地实现Excel导出功能。通过创建工作簿、工作表、行和单元格,然后填充数据,最后将结果写入到OutputStream中,即可完成导出过程。在Controller层,设置HTTP响应头,...
总结,通过SpringBoot结合Apache POI,我们可以轻松地实现Excel文件的导入和导出功能。在处理数据时,使用`ExcelFormatUtil`工具类能有效地处理各种单元格数据格式,确保数据处理的准确性和一致性。同时,要注意文件...
总的来说,这个项目展示了如何在Java环境中,结合Spring Boot的便利性,利用MyBatis进行数据库操作,借助Apache POI处理Excel文件,以及Thymeleaf生成动态页面,实现数据的导入导出功能。这是一个综合性的Java Web...
源码分析可以帮助我们理解如何在Spring MVC环境中集成Excel导出功能,而工具可能指的是Apache POI或其他辅助开发的工具,如IDE插件。 总的来说,Spring MVC Excel common view涉及到的知识点包括: 1. Spring MVC...
本主题聚焦于如何利用Spring3 MVC框架结合Apache POI库来实现在Java环境中Excel与MySQL数据库之间的数据导入与导出。 Spring3 MVC是Spring框架的一个组件,专门用于构建Web应用程序,它提供了模型-视图-控制器(MVC...