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

jxls实现Excel文件导出

阅读更多
package net.chinaedu.projects.g3mini.common;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jxls.exception.ParsePropertyException;
import net.sf.jxls.transformer.XLSTransformer;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class JxlsUtil {
	
	@SuppressWarnings("deprecation")
	@RequestMapping(value = "/system/downloadSchool.do")
	public ModelAndView downTeacherTemplate(HttpServletRequest request, HttpServletResponse response)
	{
		try
		{
			response.setCharacterEncoding("utf-8");
			response.setContentType("multipart/form-data");

			response.setHeader("Content-Disposition", "attachment;fileName=" + "school.xls"); //中文乱码
			/*String filePath = request.getRealPath("") + "/teacherTemplate/" + Constants.TEACHER_TEMPLATE;
			File templateFile = new File(filePath);
			InputStream in = new FileInputStream(templateFile);*/
			OutputStream os = response.getOutputStream();
			String templateFile=request.getRealPath("")+"/jxls_template.xls";
			Map<String, Object> beans=new HashMap<String, Object>();
			
			// fruits
			List<Map<String,String>> fruitList=new ArrayList<Map<String,String>>();
			
			Map<String,String> fruit=null;
			fruit=new HashMap<String, String>();
			fruit.put("name", "苹果");
			fruit.put("price", "100");
			fruitList.add(fruit);
			
			fruit=new HashMap<String, String>();
			fruit.put("name", "香蕉");
			fruit.put("price", "200");
			fruitList.add(fruit);
			
			beans.put("fruits",fruitList);
			exportExcel(templateFile, beans, os);
			//FileCopyUtils.copy(in, os);

			/*os.flush();
			os.close();

			in.close();*/
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}

		return null;
	}
	/**
	 * 导出excel
	 * @param templateFile - excel模版名称
	 * @param beans - 模版中填充的数据
	 * @param os - 生成模版输出流
	 */
	public static void exportExcel(String templateFile,Map<String,Object> beans,OutputStream os) {
	     XLSTransformer transformer = new XLSTransformer();
	    // InputStream is=JxlsUtil.class.getClassLoader().getResourceAsStream(templateFile);
	     //String filePath = request.getRealPath("") + "/" +templateFile;
	     //InputStream is=new FileInputStream(templateFile);
	     
	     try {
	    	InputStream is=new FileInputStream(templateFile);
			Workbook workbook=transformer.transformXLS(is,beans);
			workbook.write(os);
		} catch (Exception e) {
			e.printStackTrace();
			//throw new RuntimeException("导出excel错误!");
		} 
	}
	
	public static void main(String[] args) throws ParsePropertyException, InvalidFormatException, IOException {
		OutputStream os=new FileOutputStream("F:/new.xls");
		String templateFile="F:/jxls_template.xls";
		Map<String, Object> beans=new HashMap<String, Object>();
		
		// fruits
		List<Map<String,String>> fruitList=new ArrayList<Map<String,String>>();
		
		Map<String,String> fruit=null;
		fruit=new HashMap<String, String>();
		fruit.put("name", "苹果");
		fruit.put("price", "100");
		fruitList.add(fruit);
		
		fruit=new HashMap<String, String>();
		fruit.put("name", "香蕉");
		fruit.put("price", "200");
		fruitList.add(fruit);
		
		beans.put("fruits",fruitList);
		exportExcel(templateFile, beans, os);
	}
}

 

分享到:
评论

相关推荐

    SpringBoot(33) 整合JXLS实现Excel导入导出

    在本教程中,我们将深入探讨如何使用SpringBoot与JXLS库进行集成,以实现Excel文件的导入和导出功能。这是一个非常实用的功能,尤其在处理大量数据时,如批量用户注册、数据迁移或者数据分析等场景。让我们一起探索...

    使用 jxls2.X 导出excel文件

    "使用jxls2.X导出Excel文件"的主题涉及了如何利用Java来生成和操作Excel文档,尤其适用于需要动态生成内容的场景。在这个项目案例中,开发者使用了jxls库的最新版本(jxls2),它是一个强大的工具,能够帮助程序员将...

    使用JXLS+Excel模板制作灵活的excel导出

    JXLS(Java Excel Library)是一个强大的开源Java库,它允许开发者通过简单的XML模板来控制Excel文件的内容和格式。这个库简化了Java程序生成复杂Excel报告的过程,提供了高度的灵活性和可扩展性。 首先,我们需要...

    用Jxls导入导出Excel2003和Excel2007数据3

    本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...

    jxls-poi导出excel示例代码文件

    在描述中提到的"读取json转为excel文件导出",这正是`jxls`的一个典型应用场景。我们通常会有一个JSON数据源,它包含我们需要导出到Excel的数据。`jxls`可以解析JSON数据,并根据预定义的模板将其转换为Excel文件。...

    Excel报表导出,复杂Excel模板导出(带单元格合并),jxls2

    除了单一Sheet的导出,`jxls2`还支持多Sheet的报表导出,这意味着可以在一个Excel文件中包含多个独立的数据集,这对于报告的组织和阅读非常有帮助。例如,可以将不同部门的数据分别放在不同的Sheet中,或者按照时间...

    用Jxls实现数据导入excel实例

    Jxls库的核心功能在于提供了一种声明式的方式来处理Excel模板,通过使用Apache POI库来操作Excel文件。它的主要优点是将数据和样式分离,让开发者可以专注于业务逻辑,而无需关心底层Excel表格的细节。 首先,我们...

    jxls实现的excel导出功能,支持03以上版本

    标题中的“jxls实现的excel导出功能,支持03以上版本”指的是使用jxls库来生成Excel文件的程序设计技术。jxls是一个强大的Java库,它允许开发者使用Apache POI库来处理Excel模板,从而简化Excel数据导出的过程。这个...

    jxls利用模板生成excel文件

    4. **结果导出**:最后,`jxls`将填充后的模板转换为一个新的Excel文件,这个文件包含了所有来自数据模型的信息。 ### 三、jxls的关键特性 1. **动态数据处理**:支持条件逻辑、循环、合并单元格等复杂操作,使得...

    jxls使用模板实现导出excel!

    Java编程语言在处理数据导出,特别是在生成Excel文件时,提供了多种库,其中之一就是jxls。jxls是一个强大的工具,它允许我们使用Apache POI库的功能,但通过使用JSP标签和简单的模板来简化Excel文件的创建过程。...

    简单springboot实现Jxls导出excel

    jxls使用简单,只需定义一个excel模板,在excel中使用jx公式即可轻松实现,具体可查看项目,运行Application.java的main方法即可启动项目,访问htpp://localhost:8080/member/user/userExport即可导出数据生成excel...

    java web使用jxls导出excel功能

    Jxls是一个Java库,它提供了一种方便的方式来处理和导出Excel文件,无需编写复杂的Java代码来操作每一个单元格。本篇文章将深入探讨如何在Java Web项目中利用Jxls实现Excel的导出。 首先,我们需要在项目中引入Jxls...

    使用 jxls2.X 导出excel文件源码

    本篇文章将深入探讨如何使用 `jxls2` 库来导出Excel文件,同时参考《使用 jxls2.X 导出excel文件源码》这篇博客文章中的案例进行讲解。 首先,我们需要理解 `jxls2` 的核心概念:模板和转换器。模板是预先设计好的...

    JXLS 2.4.0 excel 导出 可以运行在 JDK 1.6

    JXLS是一个强大的Java库,专门用于处理Excel文件,它提供了高效的Excel数据导入和导出功能。在2.4.0版本中,JXLS针对JDK 1.6进行了优化,确保了向后兼容性,这对于那些由于各种原因无法升级JDK版本的项目来说是一个...

    jxls+springmvc实现excel模板导出

    在本场景中,它可能是接收用户请求导出Excel的端点,处理请求,调用业务逻辑,然后使用jxls库填充模板并生成Excel文件。Spring MVC的ModelAndView或ResponseEntity对象可以用来设置响应内容类型为"application/vnd....

    用Jxls导入导出Excel2003和Excel2007数据2

    本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...

    jxl实现excel大数据导出

    jxl实现excel大数据导出,26000条记录,测试导出时间是19s,例子不算复杂,没有excel样式的处理,可以自己扩展哈,有数据库文件,部署即可看到效果!!! 有三个功能:代码构建数据的导出、数据库数据的导出(从配置...

    用Jxls导入导出Excel2003和Excel2007数据

    本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...

    通过jxls和poi导出excel的dome

    本示例着重讲解如何利用Java的两个库——jxls和Apache POI,来实现动态生成Excel文件,以满足各种定制化的导出需求。 首先,Apache POI是一个流行的开源Java API,它允许开发者创建、修改和显示Microsoft Office...

    jxls导出模板

    "jxls导出模板"是利用jxls库实现的一种高效、灵活的方式来处理和导出数据到Excel文件的方法。jxls是一个基于Java的库,它允许开发者使用Apache POI库来扩展XLS(X)模板,从而动态生成Excel文件。 jxls的核心概念是...

Global site tag (gtag.js) - Google Analytics