/**
* 导出数据
* @param col 数据列头
* @param list 数据集
* @return
*/
public static HSSFWorkbook exportData(String col[],List<Map<String, Object>> list){
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
sheet.setDefaultRowHeight((short)30); //设置默认行高
HSSFRow hsffRow = null;
//创建第一行
hsffRow = sheet.createRow(0);
int i = 0;
for(String column_name : col){
HSSFCell cell = hsffRow.createCell(i);
cell.setCellValue(new HSSFRichTextString(column_name));
cell.setCellStyle(getStyle(wb,16,true));
sheet.autoSizeColumn((short)i);
i++;
}
//插入的行数
int insertrow = 1;
for(Map map : list){
hsffRow = sheet.createRow(insertrow);
Iterator ite = map.entrySet().iterator();
int j = 0;
while(ite.hasNext()){
Map.Entry<Object, Object> entry = (Entry<Object, Object>) ite.next();
Object key = entry.getKey();
Object value = entry.getValue();
HSSFCell cell = hsffRow.createCell((short) j);
cell.setCellStyle(getStyle(wb,12,false));
cell.setCellValue(value == null ? "" : value.toString());
j ++ ;
}
insertrow ++;
}
return wb;
}
//获取表格样式
public static HSSFCellStyle getStyle(HSSFWorkbook wb,int fontSize,boolean isFontBold){
//标题字体
HSSFFont font = wb.createFont();
font.setFontName("宋体");
font.setFontHeightInPoints((short) fontSize);// 字体大小
if(isFontBold){
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗
}
HSSFCellStyle style = wb.createCellStyle();
style.setFont(font);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中
style.setWrapText(true); //自动换行
style.setLeftBorderColor(HSSFColor.BLACK.index);
style.setBorderLeft((short) 1);
style.setRightBorderColor(HSSFColor.BLACK.index);
style.setBorderRight((short) 1);
style.setBorderTop((short) 1);
style.setTopBorderColor(HSSFColor.BLACK.index);
style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 设置单元格的边框为粗体
style.setBottomBorderColor(HSSFColor.BLACK.index); // 设置单元格的边框颜色.
style.setFillForegroundColor(HSSFColor.WHITE.index);// 设置单元格的背景颜色.
return style;
}
应用:
List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
String stuCol[] = {"姓名","性别","民族","出生日期","文化程度","政治面貌"};
HSSFWorkbook wb = exportData(stuCol,list);
if(request.getHeader("user-agent").indexOf("MSIE") != -1) {
reportTitle = java.net.URLEncoder.encode(reportTitle,"utf-8") + ".xls";
} else {
reportTitle = new String(reportTitle.getBytes("utf-8"),"iso-8859-1") + ".xls";
}
ServletOutputStream out = response.getOutputStream();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename="+ reportTitle);
wb.write(out);
out.close();
相关推荐
java导出excel文件,入参方便,灵活,实用性高,方便开发者
自己写的,将多种数据类型按照指定格式导出到excel文件里。方便实用。
* 这是一个通用的方法,利用了JAVA的反射机制,可以将放置在JAVA集合中并且符号一定条件的数据以EXCEL 的形式输出到指定IO设备上 * * @param title * 表格标题名 * @param headers * 表格属性列名数组 ...
对于J2EE项目导入导出Excel是最普通和实用功能,本工具类使用步骤简单,功能强大,只需要对实体类进行简单的注解就能实现导入导出功能,导入导出操作的都是实体对象. 请看一下这个类都有哪些功能: * 1.实体属性配置了...
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
本人从网上搜集资料,加上自己研究探索,现在完成了用Jxls导入导出Excel2003和Excel2007数据,读取和写入xls和xlsx文件,现把结果告诉大家,希望大家不走弯路,直接掌握先进实用的技术,解决实际工作问题。...
Excel表格操作实用工具类,使用泛型,反射,POI等技术编写的一个Excel表格操作工具类,适用于各种实体封装的报表表格导入导出,下载模板等功能
实用java文件,包含Excel文件的导入导出实用java类,系统某模块的具体实现类,文件的操作
一个实用的技术,用于excel文件的处理,可以将java中的对象导出到excel上 看了就会懂
所涉及的组件包括:TreeView、Excel的导入/导出、数据加密/解密、文件压缩/解压缩、绘制3D饼图、柱图、甘特图、图像处理、视频处理、工作流引擎等。 本书是一本全面介绍常用Java组件的实例教程,读者对象应是有过...
java常用jar包,实用,方便。包含了数据库连接,二维码生成,Excel表导出,压缩文和解压文件,数据上传等等。
数据导出:用户可以将收支记录、预算管理等信息导出为Excel文件,方便备份和查看。总之,家庭理财系统(java+applet).zip是一个实用的家庭财务管理工具,可以帮助用户轻松实现家庭财务的规划和管理,提高生活质量。...
只有电子书,没有附源码。 所涉及的组件包括:TreeView、Excel的导入/导出、数据加密/解密、文件压缩/解压缩、绘制3D饼图、柱图、甘特图、图像处理、视频处理、工作流引擎等。
28个java常用的工具类源码打包下载包括了(Java实现添加水印,文件上传,生成略缩图,文件操作,Md5加密码,时间日期操作、字符串操作,过滤器,数据导出Excel等实用功能)
简单实用的文件路径选择框,可直接复制实用,希望对大家有帮助!
第2章 Java语言基础 20 2.1 基本语法 21 2.2 运算符 25 2.3 条件语句 29 2.4 循环控制 34 2.5 常用排序 42 2.6 算法应用 48 第3章 HTML/CSS技术 53 3.1 页面效果 54 3.2 表格样式 64 3.3 鼠标样式 72 3.4 文字及列表...
第2章 Java语言基础 20 2.1 基本语法 21 2.2 运算符 25 2.3 条件语句 29 2.4 循环控制 34 2.5 常用排序 42 2.6 算法应用 48 第3章 HTML/CSS技术 53 3.1 页面效果 54 3.2 表格样式 64 3.3 鼠标样式 72 3.4 文字及列表...
实用Mysql数据库的一个项目,含文本上传,图片上传回显,导出excel功能,bootstrap前端框架,ssm对应的lib的各种jar文件等,只需自行在数据库里建表,需要tomcat启动