`
guchenfly
  • 浏览: 84775 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

POI通过读取Excel模板生成Excel文件

 
阅读更多
/**  
     * 导出  
     * @param mapping  
     * @param form  
     * @param request  
     * @param response  
     * @return  
     */  
    public ActionForward export(ActionMapping mapping, ActionForm form,   
            HttpServletRequest request, HttpServletResponse response) {   
           
        String checkBoxValueList = request.getParameter("ckv");   
        if(!CommonUtil.isNotNullorEmtry(checkBoxValueList)) {   
            this.saveMessages(request, "export.fail");   
            return mapping.findForward("export.fail");   
        }   
        List<Order> listOrder = orderService.exportOrderList(checkBoxValueList);   
           
        try {   
//          SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddhhmm");   
//          Calendar calendar = Calendar.getInstance();   
               
            ServletOutputStream os = response.getOutputStream(); //获得输出流   
            response.reset();   //清空输出流   
            String fileName = new String("订单列表".getBytes("gb2312"), "ISO8859-1") +".xls";   
            response.setHeader("Content-disposition", "attachment; filename="+ fileName); //设定输出文件头   
            response.setContentType("application/msexcel"); //定义输出类型   
  
            String filePath = request.getSession().getServletContext().getRealPath("/excel/model/order.xls");   
  
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filePath));    //读取excel模板   
            try {   
                HSSFSheet sheet = workbook.getSheetAt(0);   //读取第一个工作簿   
                HSSFRow row;   
                HSSFCell cell = null;   
                int rownum = 3; //添加的起始行   
                HSSFCellStyle style = this.getStyle(workbook);   
                Iterator<Order> it = listOrder.iterator();   
                Order order = null;   
                                   
                while(it.hasNext()) {   
                    order = new Order();   
                    order = it.next();   
                       
                    row = sheet.createRow(rownum);   
                       
                    myCreateCell(1, String.valueOf(rownum-2), row, cell, style);    //列1   
                    myCreateCell(2, order.getAdName(), row, cell, style);   //列2   
                    myCreateCell(3, order.getSmallAreaName(), row, cell, style);    //列1       
                                           
                    rownum++;   
                }   
                                   
                workbook.write(os);   
                os.flush();   
                os.close();   
            } catch (Exception e) {   
                e.printStackTrace();   
            }   
        } catch (IOException e) {   
            e.printStackTrace();   
        }   
        return null;   
    }   
       
    private void myCreateCell(int cellnum, String value, HSSFRow row, HSSFCell cell, HSSFCellStyle style) {   
        cell = row.createCell((short) cellnum);   
        cell.setCellValue(new HSSFRichTextString(value));   
        cell.setCellStyle(style);   
    }   
       
    public HSSFCellStyle getStyle(HSSFWorkbook workbook) {   
        //设置字体;   
        HSSFFont font = workbook.createFont();   
        //设置字体大小;   
        font.setFontHeightInPoints((short) 10);   
        //设置字体名字;   
        font.setFontName("宋体");   
        //font.setItalic(true);   
        //font.setStrikeout(true);   
        //设置样式;   
        HSSFCellStyle style = workbook.createCellStyle();   
        //设置底边框;   
        style.setBorderBottom(HSSFCellStyle.BORDER_THIN);   
        //设置底边框颜色;   
        style.setBottomBorderColor(HSSFColor.BLACK.index);   
        //设置左边框;   
        style.setBorderLeft(HSSFCellStyle.BORDER_THIN);   
        //设置左边框颜色;   
        style.setLeftBorderColor(HSSFColor.BLACK.index);   
        //设置右边框;   
        style.setBorderRight(HSSFCellStyle.BORDER_THIN);   
        //设置右边框颜色;   
        style.setRightBorderColor(HSSFColor.BLACK.index);   
        //设置顶边框;   
        style.setBorderTop(HSSFCellStyle.BORDER_THIN);   
        //设置顶边框颜色;   
        style.setTopBorderColor(HSSFColor.BLACK.index);   
        //在样式用应用设置的字体;   
        style.setFont(font);   
        //设置自动换行;   
        style.setWrapText(false);   
        //设置水平对齐的样式为居中对齐;   
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER);   
        //设置垂直对齐的样式为居中对齐;   
        style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);   
        return style;   
    } 


 
分享到:
评论

相关推荐

    java poi 根据excel模板生成excel文件

    通过以上步骤,你就可以利用Java POI库根据Excel模板生成新的Excel文件了。这个过程可以用于批量生成报告、自定义报表或者动态数据填充等场景,大大提高了工作效率。同时,POI库提供了丰富的API,可以根据具体需求...

    poi 操作excel模板

    通过以上步骤,你可以使用Apache POI有效地操作Excel模板,并将数据填充到新生成的文件中。这在报表生成、数据分析、批量导出等方面非常实用。记得在实际项目中,还要处理异常、优化性能,比如使用缓冲流、避免频繁...

    Java POI根据模板生成Excel(xlsx)文件

    在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对Excel模板的理解、读取、修改以及最终的保存。 首先,理解模板文件是关键。一个.xlsx模板文件实际上是由一系列XML...

    POI使用Excel模板文件循环输出行并导出Excel

    在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...

    Java通过POI读取Excel遍历数据,批量生成word文档

    本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...

    使用POI向Excel模板动态添加内容

    在IT行业中,Apache POI是一个广泛使用的库,它允许开发者在Java环境中创建、修改和读取Microsoft Office格式的...通过学习和实践,你将能够熟练地使用Apache POI处理Excel模板,为你的业务提供强大的数据导出功能。

    poi包 EXCEL模板读取填数据并导出以及在模板某行插入新的行

    综上所述,Apache POI提供了一套完整的解决方案来处理Excel文件,无论是读取模板还是生成新的Excel,都提供了丰富的功能和灵活性。在实际开发中,理解并熟练运用Apache POI,可以大大提高工作效率,特别是在大数据...

    java的poi生成excel图表demo

    通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...

    poi 基于excel模板导出功能

    四、导出Excel文件 1. 写入输出流:创建FileOutputStream,将填充好的工作簿写入到输出流中。 ```java FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close(); ``` 2. ...

    poi导出根据模板导出excel和简单列表导出excel源码

    - **读取模板**:使用 POI API 打开模板文件,获取工作簿对象。 - **数据绑定**:遍历模板中的数据占位符,用实际数据替换它们。 - **写入数据**:在已存在的工作表中插入或更新单元格内容。 - **保存结果**:将...

    java基于poi通过excel模板导出

    在压缩包文件"reportExcelPoi"中,可能包含了示例代码、模板文件以及最终生成的Excel文件。通过学习这些资源,你可以更好地理解和实践上述知识,从而在项目中实现高效且灵活的Excel模板导出功能。

    使用poi根据导入模板生成excel

    在本项目中,“使用poi根据导入模板生成excel”是核心任务,这意味着我们需要利用POI库处理已有的Excel模板,生成新的Excel表格,并填充数据。 首先,我们需要了解Apache POI的基本结构和使用方法。POI提供了HSSF...

    读取excel自动生成sql文的txt文件

    这个“读取excel自动生成sql文的txt文件”的工具显然是为了解决这一问题而设计的。它允许用户通过Excel表格结构快速生成对应的SQL插入语句,极大地提高了工作效率。 首先,我们需要理解Excel文件的结构。Excel是一...

    java生成excel文件(poi).rar_POI java_java excel_poi EXCEL模板_poi-3.8-

    在这个“java生成excel文件(poi).rar”压缩包中,我们看到的是一个使用POI库创建Excel文件的示例代码。 Apache POI提供了API来创建、读取和修改Excel文件。在“POI java_java excel_poi EXCEL模板”这一标签中,...

    poi导入导出excel生成报表

    本篇文章将详细介绍如何使用 Apache POI 进行 Excel 文件的生成与读取操作。 #### 二、创建 Excel 文件 ##### 1. 导入必要的库 为了能够使用 Apache POI 的功能,首先需要导入相应的包: ```java import org....

    POI读取excel,利用Freemarker建立word模板(带图片),生成word文档,再合并成一个word文档(源码)

    Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...

    poi基于模板导出excel

    本文将详细介绍如何使用 POI 结合模板文件生成 Excel,并通过示例代码具体展示每一步的操作。 #### 第一步:设置 Excel 模板路径 (setSrcPath) ```java public void setSrcPath(String srcXlsPath) { this....

    java实现poi模板生成PPT文件代码

    在这个项目中,我们将会探讨如何使用POI API来生成PPT文件,特别是通过模板的方式。以下是详细的步骤和知识点。 1. **Apache POI介绍**: Apache POI 是一个开源项目,它提供了Java API来处理Microsoft Office格式...

    使用POI在Excel中动态生成图表工具类(支持柱状、组合、环状图、折线图、等常用图)

    **四、保存Excel文件** 最后,不要忘记将工作簿写入文件并关闭: ```java FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close(); workbook.close(); ``` 以上就是使用...

    SpringBoot整合poi实现Excel文件的导入和导出.pdf

    // 使用POI读取Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(is); XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { // 遍历行,处理每个单元格 for (Cell ...

Global site tag (gtag.js) - Google Analytics