jxls1.*系列(最新版本1.0.6)是基于jdk5的,项目为1.5,1.6的话可以用1.*系列
jxls2.*系列(最新版本2.3.0)是基于jdk7的,项目必须为1.7以上才可以用2.*系列
以下例子基于1.*系列,
(2.*系列excel模板的设计是使用excel批注实现,1.*系列使用标签实现)
0:pom中引入jar包
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-reader</artifactId>
<version>1.0.6</version>
</dependency>
1:定义view
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jxls.transformer.XLSTransformer;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.servlet.view.AbstractView;
public class JxlsExcelView extends AbstractView {
private static final String CONTENT_TYPE = "application/vnd.ms-excel";
private String templatePath;
private String exportFileName;
/**
* @param templatePath 模版相对于当前classpath路径
* @param exportFileName 导出文件名
*/
public JxlsExcelView(String templatePath, String exportFileName) {
this.templatePath = templatePath;
this.exportFileName = exportFileName;
setContentType(CONTENT_TYPE);
}
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
HttpServletResponse response) throws Exception {
InputStream is = null;
OutputStream os = null;
os = response.getOutputStream();
response.setContentType(getContentType());
// 解决导出文件名中文乱码
String filename = new String(exportFileName.getBytes("gb2312"), "iso8859-1");
response.setHeader("content-disposition", "attachment;filename=" + filename + ".xls");
// 获取excel模板
is = JxlsExcelView.class.getClassLoader().getResourceAsStream(templatePath);
//转换成excel并输出
XLSTransformer transformer = new XLSTransformer();
Workbook workbook = transformer.transformXLS(is, model);
//将内容写入输出流并把缓存的内容全部发出去
workbook.write(os);
os.flush();
os.close();
is.close();
}
}
2:resources/jxls/template中设计模板online_user.xls
3:调用
// 导出
@RequestMapping
public ModelAndView export(ActionContext context, HttpServletResponse response) throws Exception {
// 1:准备数据
List<OnlineUser> userList = getUserList();
// 2:数据放置到jxls需要的map中
Map<String,Object> modal = new HashMap<String,Object>();
modal.put("users", userList);
modal.put("totalCount", userList.size());
// 3:导出文件
return new ModelAndView(new JxlsExcelView("jxls/template/online_user.xls","在线用户列表"), modal);
}
- 大小: 15.3 KB
分享到:
相关推荐
可以前往查看本人CSDN博客《Jxls+Spring MVC实现Excel导出》
使用JXLS+Excel模板制作灵活的excel导出
使用jxls技术,自己创建Excel模板导出数据
一个Maven项目,下载直接使用,直接找到 JxlsTest运行demo即可,功能强大,基本能满足所有报表的导出需求,支持多个Sheet导出,支持复杂的导出组合,可以自己写模板试玩下。
可以前往查看本人CSDN博客《Jxls+Spring MVC实现Excel导出》
jxls利用模板生成excel文件, 非常方便
1.FreeMarker整合EasyUI实现数据分页展示 2.IDEA+Springboot+gradle框架 3.Jxls导出数据到Excel 4.logback整合logstash
亲自使用的jxls导出功能,使用方法在文档里有说明。。。
SpringBoot(33) 整合JXLS实现Excel导入导出
项目使用日志框架实现sql日志完整输出,并使用springmvc和jxls分别实现excel导出
用Jxls实现数据导入excel实例java代码
JXLS将数据库取得的数据根据Excel模板导出
jxls使用简单,只需定义一个excel模板,在excel中使用jx公式即可轻松实现,具体可查看项目,运行Application.java的main方法即可启动项目,访问htpp://localhost:8080/member/user/userExport即可导出数据生成excel...
java导出Excel表格,jxls模板导出Excel,如何使用模板导出Excel
通过jxls和poi导出excel的dome,支持2003至2013版的excel的导出。通过将数据注入的已写好的模板中导出到指定路径下。
1.(简单)JFinal实现Demo - 导出Excel 使用模板导出(POI + JXLS); 2.可以自己设定excel的模板,不用通过程序控制excel的样式,从而导出复杂的表格;
jxls功能的开发,关于自定义模板和数据封装,已经数据生成
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
NULL 博文链接:https://siyuan-zhu.iteye.com/blog/2240423