`
czh0622
  • 浏览: 15164 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

java导出一般excel文件实用方法

阅读更多

/**
     * 导出数据
     * @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实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    java导出excel文件工具类

    java导出excel文件,入参方便,灵活,实用性高,方便开发者

    java导出excel复合表头简单实例

    本资源提供的"java导出excel复合表头简单实例"是针对Java开发者的一个实用教程,特别是对于那些刚开始接触Java Excel导出功能的新手。这个实例将帮助你理解如何在Excel中创建并设置复杂的表头结构,使得数据的呈现...

    JAVA poi 做EXCEL导出(包含图片) 完整版

    以上代码示例展示了如何使用Java POI库创建一个包含图片的Excel文件。你可以根据实际需求调整单元格、图片的位置和大小,以及图片的数量。如果你在实现过程中遇到问题,可以随时提问,我会尽我所能提供帮助。

    java导出30万数据量的excel(采用生成多个excel,最后打包zip)

    在Java开发中,处理大数据量的Excel导出是一项常见的任务,尤其当数据量达到数十万条时,单个Excel文件可能会遇到性能瓶颈或格式限制。本项目针对这一问题提出了一种解决方案,即分块生成多个Excel文件,然后将它们...

    Java生成Excel文件

    本篇文章将深入探讨如何使用Java来创建Excel文件,并基于提供的标签“源码”和“工具”分享一些实用的方法。 首先,Java生成Excel文件通常会用到Apache POI库,这是一个流行的API,用于读写Microsoft Office格式的...

    Java数据导出到Excel模板

    本项目就是这样一个示例,它利用了Apache POI库来处理Excel文件的生成,使得Java程序能够方便地操作Excel数据。下面将详细阐述相关知识点。 1. **Apache POI**:Apache POI是一个开源项目,它提供了Java API来读写...

    excel导出 java文件直接用

    在Java编程中,导出Excel文件是一项常见的任务,特别是在数据处理和报表生成的场景下。这个标题"excel导出 java文件直接用"表明我们有一个Java程序或库,可以直接用于导出Excel文件,无需复杂的配置或者额外的步骤。...

    java poi导出excel

    在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现Excel的导出。 1. **引入依赖** 在Java项目中使用POI,首先需要在项目的构建文件(如Maven的pom.xml或...

    java代码实现Excel文件的导入和导出

    导出Excel文件涉及创建工作簿、工作表、行和单元格,并设置相应值。首先,创建`HSSFWorkbook`或`XSSFWorkbook`对象,然后添加工作表,创建行和单元格。例如: ```java HSSFWorkbook workbook = new HSSFWorkbook...

    java 导出 excel 2003,有例子

    在Java编程中,导出Excel文件是一项常见的任务,特别是在数据处理和报告生成的场景下。这里,我们将深入探讨如何使用Java来创建Excel 2003格式的文件,基于提供的标签和描述,我们可以推断使用的是JXL库。JXL是一个...

    java 创建EXCEL文件,并向EXCEL中写入数据

    总的来说,Java配合`jxl`库可以方便地实现Excel文件的创建和数据写入,这对于数据导出、报告生成等场景非常实用。然而,需要注意的是,`jxl`库只支持旧版的.BIFF8格式(Excel 97-2003),对于新版的.xlsx格式(Excel...

    java 导出 excel

    在Java编程中,导出...总之,Java导出Excel涉及到的内容广泛,从选择合适的库到处理各种复杂需求,都需要开发者具备扎实的编程基础和对Excel文件格式的理解。通过不断实践和学习,你可以轻松应对各种Excel处理任务。

    自己DIY java导出Excel

    总结来说,Java导出Excel涉及的关键技术点包括对Excel文件格式的理解,使用Java标准API或第三方库(如Apache POI)操作Excel对象,以及数据处理和格式化。通过阅读提供的博客和源代码,开发者可以学习如何在不依赖...

    java导出excel实例

    总的来说,Java通过Apache POI库导出Excel是一个实用且功能强大的功能,可以帮助开发者轻松地将数据转化为用户友好的Excel文件。在开发过程中,不断学习和理解POI的高级特性和最佳实践,将使你的代码更加高效和健壮...

    使用Aspose.Cells for java完成复杂Excel报表导出

    总之,“使用Aspose.Cells for Java完成复杂Excel报表导出”这个主题涵盖了Java编程中处理Excel文件的关键技术,包括模板设计、数据绑定和Smart Marker的使用,这些都是提升工作效率和报表生成质量的重要工具。...

    SuperMap Objects Java数据集导出为Excel表文件

    6. **保存Excel文件**:最后,将创建的工作簿保存为Excel文件。这一步可以通过Apache POI的`Workbook`对象的`write`方法完成,指定一个输出流或者文件路径。 在提供的文件列表中,`.classpath`和`.project`是...

    java动态导出excel压缩成zip下载的方法

    本文主要介绍了java动态导出excel压缩成zip下载的方法,该方法可以将excel文件压缩成zip格式并下载,具有实用价值。 java动态导出excel压缩成zip下载的原理 java动态导出excel压缩成zip下载的方法主要通过使用java...

    使用EasyPOI导出Excel模板数据(含图片)博文源码

    EasyPOI是一个基于Apache POI的轻量级Java库,它简化了Excel文件的读写操作,特别是对于批量处理和模板导出功能。这篇博文的源码提供了一个使用EasyPOI导出包含图片的Excel模板数据的示例,这在报表生成、数据分析和...

    java导出Excel工具类和支持包

    总的来说,这个工具类和POI库一起提供了在Java环境中便捷地生成和导出Excel文件的能力,对于需要处理大量数据展示的项目来说,是非常实用的工具。使用它们,你可以轻松地将数据库中的记录转换为用户友好的Excel表格...

Global site tag (gtag.js) - Google Analytics