java Excel 导出

简介:   package com.web.utils; import java.io.File; import java.util.List; import org.apache.

 

package com.web.utils;

import java.io.File;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class XLSUtils {
	private static Log logger = LogFactory.getLog(XLSUtils.class);

	
	
	public static File createXLSFile(String title, String[] columnName, List<String[]> content) 
	{
		File tmpFile = null;
		try 
		{
			tmpFile = File.createTempFile(title, ".xls");
			WritableWorkbook book = Workbook.createWorkbook(tmpFile);
			// 创建工作表
			WritableSheet sheet = book.createSheet("Sheet1", 0);
			// 创建标题
			if(columnName != null) 
			{
				WritableFont wf_merge = new WritableFont(WritableFont.ARIAL,20,WritableFont.NO_BOLD,
	                    false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
				WritableCellFormat wff_merge = new WritableCellFormat(wf_merge);
				// 水平对齐
				wff_merge.setAlignment(jxl.format.Alignment.CENTRE);   
				// 垂直对齐
				wff_merge.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
				// 创建表头
				for(int i = 0; i < columnName.length; i ++) 
				{
					sheet.addCell(new Label(i, 0, columnName[i]));
				}
			}
			// 创建内容
			if(content != null) 
			{
				for(int i = 0; i < content.size(); i ++) 
				{
					String s[] = content.get(i);
					for(int j = 0; j < s.length; j ++) 
					{
						sheet.addCell(new Label(j, i + 1, s[j]));
					}
				}
			}
			book.write();
			book.close();
		} 
		catch (Exception e)
		{	
			logger.info("创建xls异常? create xls exeception", e);
			return null;
		}	
		return tmpFile;
	}
	
}

 

 

 

 

 

 

 

package com.web.utils;

import java.io.File;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class XLSUtils {
	private static Log logger = LogFactory.getLog(XLSUtils.class);

	
	
	public static File createXLSFile(String title, String[] columnName, List<String[]> content) 
	{
		File tmpFile = null;
		try 
		{
			tmpFile = File.createTempFile(title, ".xls");
			WritableWorkbook book = Workbook.createWorkbook(tmpFile);
			// 创建工作表
			WritableSheet sheet = book.createSheet("Sheet1", 0);
			// 创建标题
			if(columnName != null) 
			{
				WritableFont wf_merge = new WritableFont(WritableFont.ARIAL,20,WritableFont.NO_BOLD,
	                    false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
				WritableCellFormat wff_merge = new WritableCellFormat(wf_merge);
				// 水平对齐
				wff_merge.setAlignment(jxl.format.Alignment.CENTRE);   
				// 垂直对齐
				wff_merge.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
				// 创建表头
				for(int i = 0; i < columnName.length; i ++) 
				{
					sheet.addCell(new Label(i, 0, columnName[i]));
				}
			}
			// 创建内容
			if(content != null) 
			{
				for(int i = 0; i < content.size(); i ++) 
				{
					String s[] = content.get(i);
					for(int j = 0; j < s.length; j ++) 
					{
						sheet.addCell(new Label(j, i + 1, s[j]));
					}
				}
			}
			book.write();
			book.close();
		} 
		catch (Exception e)
		{	
			logger.info("创建xls异常? create xls exeception", e);
			return null;
		}	
		return tmpFile;
	}
	
}

 

 

 

 

package com.web.utils;

import java.io.File;
import java.util.List;

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

public class DownLoadExcel {
	public static String downLoadExcel(String title, String[] columnName, List<String[]> content, HttpServletRequest request, HttpServletResponse response) 
	{
		try{
			File file = XLSUtils.createXLSFile(title, columnName, content);
			if(file == null) 
			{
				return null;
			}
			FileServerUtil.downFile(file, request, response);
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}
		return null;
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

 

目录
相关文章
|
1月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
1月前
|
NoSQL 关系型数据库 MySQL
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队; 刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;还考虑到异步,可能还需要建个文件导出表,主要记录文件的导出情况,文件的存放地址,用户根据文件列表情况下载导出文件。
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
|
2月前
|
XML Java 数据格式
使用Freemarker模版导出xls文件使用excel打开提示文件损坏
使用Freemarker模版导出xls文件使用excel打开提示文件损坏
62 0
|
7天前
|
easyexcel 数据库
公司大佬对excel导入、导出的封装,那叫一个秒啊
封装公司统一使用的组件的主要目标是为了简化开发人员的调用流程,避免各个项目组重复集成和编写不规范的代码。文中提到对阿里EasyExcel进行了二次封装,提供了导入和导出功能,并支持模板的导入和导出。此外,还处理了读取数据与实际保存数据不一致的情况,通过提供自定义转换器来解决。
27 0
|
7天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
7天前
|
前端开发
开发指南007-导出Excel
平台上开发导出Excel比过去的单体架构要复杂些,因为前端和后台不在一个进程空间里。
|
1月前
|
SQL Java easyexcel
【Java】百万数据excel导出功能如何实现
【Java】百万数据excel导出功能如何实现
139 0
|
2月前
|
Java
POI上传excel的java后台逻辑
POI上传excel的java后台逻辑
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
105 0