/**
* 导出
* @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) 5);
//设置字体名字;
font.setFontName("Courier New");
//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文件了。这个过程可以用于批量生成报告、自定义报表或者动态数据填充等场景,大大提高了工作效率。同时,POI库提供了丰富的API,可以根据具体需求...
通过以上步骤,你可以使用Apache POI有效地操作Excel模板,并将数据填充到新生成的文件中。这在报表生成、数据分析、批量导出等方面非常实用。记得在实际项目中,还要处理异常、优化性能,比如使用缓冲流、避免频繁...
在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对Excel模板的理解、读取、修改以及最终的保存。 首先,理解模板文件是关键。一个.xlsx模板文件实际上是由一系列XML...
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...
综上所述,Apache POI提供了一套完整的解决方案来处理Excel文件,无论是读取模板还是生成新的Excel,都提供了丰富的功能和灵活性。在实际开发中,理解并熟练运用Apache POI,可以大大提高工作效率,特别是在大数据...
在IT行业中,Apache POI是一个广泛使用的库,它允许开发者在Java环境中创建、修改和读取Microsoft Office格式的...通过学习和实践,你将能够熟练地使用Apache POI处理Excel模板,为你的业务提供强大的数据导出功能。
通过这个“java的poi生成excel图表demo”,我们可以学习如何利用POI创建动态的、数据驱动的Excel曲线图,进一步提升数据的可视性和理解性。这个压缩包中的“EexcelChart”可能是示例代码、测试数据或生成的Excel文件...
四、导出Excel文件 1. 写入输出流:创建FileOutputStream,将填充好的工作簿写入到输出流中。 ```java FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close(); ``` 2. ...
- **读取模板**:使用 POI API 打开模板文件,获取工作簿对象。 - **数据绑定**:遍历模板中的数据占位符,用实际数据替换它们。 - **写入数据**:在已存在的工作表中插入或更新单元格内容。 - **保存结果**:将...
在压缩包文件"reportExcelPoi"中,可能包含了示例代码、模板文件以及最终生成的Excel文件。通过学习这些资源,你可以更好地理解和实践上述知识,从而在项目中实现高效且灵活的Excel模板导出功能。
在本项目中,“使用poi根据导入模板生成excel”是核心任务,这意味着我们需要利用POI库处理已有的Excel模板,生成新的Excel表格,并填充数据。 首先,我们需要了解Apache POI的基本结构和使用方法。POI提供了HSSF...
这个“读取excel自动生成sql文的txt文件”的工具显然是为了解决这一问题而设计的。它允许用户通过Excel表格结构快速生成对应的SQL插入语句,极大地提高了工作效率。 首先,我们需要理解Excel文件的结构。Excel是一...
在这个“java生成excel文件(poi).rar”压缩包中,我们看到的是一个使用POI库创建Excel文件的示例代码。 Apache POI提供了API来创建、读取和修改Excel文件。在“POI java_java excel_poi EXCEL模板”这一标签中,...
本篇文章将详细介绍如何使用 Apache POI 进行 Excel 文件的生成与读取操作。 #### 二、创建 Excel 文件 ##### 1. 导入必要的库 为了能够使用 Apache POI 的功能,首先需要导入相应的包: ```java import org....
Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...
本文将详细介绍如何使用 POI 结合模板文件生成 Excel,并通过示例代码具体展示每一步的操作。 #### 第一步:设置 Excel 模板路径 (setSrcPath) ```java public void setSrcPath(String srcXlsPath) { this....
在这个项目中,我们将会探讨如何使用POI API来生成PPT文件,特别是通过模板的方式。以下是详细的步骤和知识点。 1. **Apache POI介绍**: Apache POI 是一个开源项目,它提供了Java API来处理Microsoft Office格式...
// 使用POI读取Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(is); XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { // 遍历行,处理每个单元格 for (Cell ...
在这个场景中,我们关注的是使用POI来通过模板生成Word文档。这个过程通常涉及到读取一个预先设计好的Word模板,然后在运行时替换模板中的特定占位符或变量,生成个性化的文档。 首先,让我们了解如何准备模板。一...