java使用POI简单操作excel表格

本文简单写记录java操作excel表格并通过浏览器下载,前端代码没有写。

开发环境

工具环境:eclipse
项目环境:springboot

步骤

1.创建人员entity,包含姓名,年龄,性别

Person.java

public class Person{
	private String name;
	private String age;
	private String sex;
	public Person( String name, String age, String sex ){
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
    public void setName( String name ){
        this.name = name;
    }
    public String getName{
    	return name;
    }
    public void setAge( String age ){
    	this.age = age;
    }
    public String getAge(){
    	return age;
    }
    public void setSex( String sex){
    	this.sex = sex;
    }
    public String getSex(){
    	return sex;
    }
}

2.编写请求并下载类
DownLoadExcel.java

public class DownLoadExcel{

	@RequestMapping("/a/download")   //访问地址
	public void download(HttpServletRequest request, HttpServletResponse response ) throws Exception{
		List<Person> list = new ArrayList<Person>();
		list.add(new Person("jimy","23","男"));
		list.add(new Person("tom","24","女"));
		Workbook workbook = new ExportExcelBuilder().createExcel2013()
	        		.addStringColumn(	"name"	, "姓名"	,6000	)
	        		.addStringColumn(	"age"		, "年龄"	,5000	)
	        		.addStringColumn(	"sex"		, "性别"	,12000	)							
					.setSheetName("人员")
					.setData(Person.class,list)
					.build();	
        String titleName = "perosn_data.xlsx";   //保存的文件名称
        // 解决中文乱码问题
        String user_Agent = request.getHeader("User-Agent");  //获取头部的User-Agent信息
        if(user_Agent.contains("Firefox")){ //火狐浏览器中文乱码
        	ExcelUtils.setDownloadForFirefox(workbook, response, titleName);
        }else{// ie浏览器中文乱码
        	ExcelUtils.setDownload(workbook, response, titleName);
           }
	}
   public static void setDownloadForFirefox(Workbook workbook, HttpServletResponse response, String fileName) throws IOException {
    	fileName=base64EncodeFileName(fileName);
    	response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
        response.setContentType("application/vnd.ms-excel");
        try (OutputStream outputStream = response.getOutputStream()) {
            save(workbook, outputStream);
        }
    }
}

注:使用POI需要导入
由于实际使用的代码比较多,没有贴出实际使用的代码。这里手动敲了个最简单的代码,代码并没有测试。对于POI操作word生成word文件,后面有时间会记录到博客。

猜你喜欢

转载自blog.csdn.net/qq_23967965/article/details/86149758