/**
*最近工作时,用到了poi导出Excel,抽时间整理了一下
*使用前需要下载apache poi.jar包
*/
package com.excel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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;
/**
* 2013-7-3
* ExcelUtil.java
* @version 1.0
* @param <T>
*/
public class ExcelUtil<T> {
private InputStream excelFile;
@SuppressWarnings("unused")
private String downloadFileName;
/** 自己的方法 */
public String myMethed() throws Exception {
ByteArrayOutputStream output = new ByteArrayOutputStream();
List<T> lists = new ArrayList<T>();
HSSFWorkbook workbook = exportExcel(lists, column().length, column());
workbook.write(output);
byte[] bates = output.toByteArray();
excelFile = new ByteArrayInputStream(bates);
output.flush();
output.close();
return "excel";
}
/** 显示的列名称 */
public String[] column() {
String[] columnName = {"column1", "column2"};
return columnName;
}
/**
* List<User> dataList 数据集合
* column 列数
* columnName 列名
* */
public HSSFWorkbook exportExcel(List<T> dataList, int column, String[] columnName) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook(); // 创建一个webbook
HSSFSheet sheet = wb.createSheet("sheet1"); // 在webbook中添加一个sheet
HSSFRow row = sheet.createRow((int) 0); // 在sheet中添加表头第0行
HSSFCellStyle style = createCellStyle(wb); // 创建单元格,获取样式
HSSFCell cell; // 列布局
for(int i=0; i < column; i++) {
cell = row.createCell((int) i); // 列数
cell.setCellValue(columnName[i]); // 列名
cell.setCellStyle(style); // 列样式
sheet.setColumnWidth(i, 3000); // 设置列宽
}
// 行布局
for(int i = 0; i < dataList.size(); i++) {
row = sheet.createRow((int) i + 1);
T o = (T) dataList.get(i);
row.createCell(0).setCellValue(o.getClass().getName()); // 获取对象属性值从第i个值开始
row.createCell(1).setCellValue(o.getClass().getName());
}
return wb;
}
/** 设置excel的title样式 */
private HSSFCellStyle createCellStyle(HSSFWorkbook wb) {
HSSFFont boldFont = wb.createFont();
boldFont.setFontHeight((short) 260);
HSSFCellStyle style = wb.createCellStyle();
style.setFont(boldFont);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
return style;
}
public InputStream getExcelFile() {
return excelFile;
}
public void setExcelFile(InputStream excelFile) {
this.excelFile = excelFile;
}
public String getDownloadFileName() throws Exception {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd ");
String downloadFileName = (sf.format(new Date()).toString()) + "项目信息.xls";
downloadFileName = new String(downloadFileName.getBytes(), "ISO8859-1");
return downloadFileName;
}
public void setDownloadFileName(String downloadFileName) {
this.downloadFileName = downloadFileName;
}
}
// struts2 配置
<action name="export" class="com.excel.ExcelUtil">
<result name="excel" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="${downloadFileName}" </param>
<param name="bufferSize">1024</param>
<param name="inputName">excelFile</param>
</result>
</action>
jsp 访问路径:
<a href="<%=basePath%>export_myMethed">导出Excel</a>
相关推荐
使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
JAVA POI导出EXCEL代码
里面是完整的java程序,导入可执行,根据数据生成excel文件,http://localhost:8080/poi/export
通用类的Java导出Excel方法,导出内容是使用json传递,字段描述使用ArrayList数组传递,
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
Java POI 导出Excel 2007简单实例源代码 该源代码的jar包,Java POI导出EXCEL经典实现
这个是利用POI导出excel的源码,需要导入poi包,然后把jsp和action的代码拷贝进去就可以直接运行,很基础的代码,很适合初学者学习。 POI可以自己定义导出excel格式的数据,实例就是这样弄的,希望对初学者有帮助。
Java实现POI导出Excel 博文参考:http://blog.csdn.net/itmyhome1990/article/details/49818045
需要使用JAVA 做EXCEL导出的同学,有问题尽管私信
java poi 导出excel jar包
这个是java用poi操作Excel进行导出,并且可以自动换行
该实例集成maven开发环境,里面讲解了POI导入和导出Excel表格的基本用法
java poi excel数据的导出
String outputFile = "D:\\excel\\excel.xlsx"; OutputStream outputStream = new FileOutputStream(outputFile); UtilExcel utilExcel = new UtilExcel(); String titles = "所属区域,所属车间,当前处理人,描述...
Java POI 生成Excel时显示货币格式
利用poi技术导出EXCEL表格,文件里还包含部分关键代码,使用方便
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!