/**
* 导出数据
* @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实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...
java导出excel文件,入参方便,灵活,实用性高,方便开发者
本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...
以上代码示例展示了如何使用Java POI库创建一个包含图片的Excel文件。你可以根据实际需求调整单元格、图片的位置和大小,以及图片的数量。如果你在实现过程中遇到问题,可以随时提问,我会尽我所能提供帮助。
在Java开发中,处理大数据量的Excel导出是一项常见的任务,尤其当数据量达到数十万条时,单个Excel文件可能会遇到性能瓶颈或格式限制。本项目针对这一问题提出了一种解决方案,即分块生成多个Excel文件,然后将它们...
本篇文章将深入探讨如何使用Java来创建Excel文件,并基于提供的标签“源码”和“工具”分享一些实用的方法。 首先,Java生成Excel文件通常会用到Apache POI库,这是一个流行的API,用于读写Microsoft Office格式的...
本项目就是这样一个示例,它利用了Apache POI库来处理Excel文件的生成,使得Java程序能够方便地操作Excel数据。下面将详细阐述相关知识点。 1. **Apache POI**:Apache POI是一个开源项目,它提供了Java API来读写...
在Java编程中,导出Excel文件是一项常见的任务,特别是在数据处理和报表生成的场景下。这个标题"excel导出 java文件直接用"表明我们有一个Java程序或库,可以直接用于导出Excel文件,无需复杂的配置或者额外的步骤。...
在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现Excel的导出。 1. **引入依赖** 在Java项目中使用POI,首先需要在项目的构建文件(如Maven的pom.xml或...
导出Excel文件涉及创建工作簿、工作表、行和单元格,并设置相应值。首先,创建`HSSFWorkbook`或`XSSFWorkbook`对象,然后添加工作表,创建行和单元格。例如: ```java HSSFWorkbook workbook = new HSSFWorkbook...
在Java编程中,导出Excel文件是一项常见的任务,特别是在数据处理和报告生成的场景下。这里,我们将深入探讨如何使用Java来创建Excel 2003格式的文件,基于提供的标签和描述,我们可以推断使用的是JXL库。JXL是一个...
总的来说,Java配合`jxl`库可以方便地实现Excel文件的创建和数据写入,这对于数据导出、报告生成等场景非常实用。然而,需要注意的是,`jxl`库只支持旧版的.BIFF8格式(Excel 97-2003),对于新版的.xlsx格式(Excel...
在Java编程中,导出...总之,Java导出Excel涉及到的内容广泛,从选择合适的库到处理各种复杂需求,都需要开发者具备扎实的编程基础和对Excel文件格式的理解。通过不断实践和学习,你可以轻松应对各种Excel处理任务。
总结来说,Java导出Excel涉及的关键技术点包括对Excel文件格式的理解,使用Java标准API或第三方库(如Apache POI)操作Excel对象,以及数据处理和格式化。通过阅读提供的博客和源代码,开发者可以学习如何在不依赖...
总的来说,Java通过Apache POI库导出Excel是一个实用且功能强大的功能,可以帮助开发者轻松地将数据转化为用户友好的Excel文件。在开发过程中,不断学习和理解POI的高级特性和最佳实践,将使你的代码更加高效和健壮...
总之,“使用Aspose.Cells for Java完成复杂Excel报表导出”这个主题涵盖了Java编程中处理Excel文件的关键技术,包括模板设计、数据绑定和Smart Marker的使用,这些都是提升工作效率和报表生成质量的重要工具。...
6. **保存Excel文件**:最后,将创建的工作簿保存为Excel文件。这一步可以通过Apache POI的`Workbook`对象的`write`方法完成,指定一个输出流或者文件路径。 在提供的文件列表中,`.classpath`和`.project`是...
本文主要介绍了java动态导出excel压缩成zip下载的方法,该方法可以将excel文件压缩成zip格式并下载,具有实用价值。 java动态导出excel压缩成zip下载的原理 java动态导出excel压缩成zip下载的方法主要通过使用java...
EasyPOI是一个基于Apache POI的轻量级Java库,它简化了Excel文件的读写操作,特别是对于批量处理和模板导出功能。这篇博文的源码提供了一个使用EasyPOI导出包含图片的Excel模板数据的示例,这在报表生成、数据分析和...
总的来说,这个工具类和POI库一起提供了在Java环境中便捷地生成和导出Excel文件的能力,对于需要处理大量数据展示的项目来说,是非常实用的工具。使用它们,你可以轻松地将数据库中的记录转换为用户友好的Excel表格...