/**
*
* @param infomation 资料信息
* @return 资料文件名称 ,资料文件路径
* @throws FileNotFoundException
*/
@SuppressWarnings("unchecked")
public Map<String, String> infomationExport(List<Map<String, String>> infomation) {
HSSFWorkbook workbook = new HSSFWorkbook();
//存储文件内容的map
Map<String,String> fileMap= new HashMap<String,String>();
HSSFSheet sheet = workbook.createSheet(Constants.CONSTANT_EXCEL_SHEET_NAME);
File file = new File(Constants.CONSTANT_EXCEL03_TEMPLATE);
//将表头值存储文件
Map<String,String> headerMap= new HashMap<String,String>();
headerMap = getHeaderInfomation(infomation);
//创建第一行
HSSFRow firstRow = sheet.createRow(0);
int firstRowCellIndex = 0 ;
//存储表头的下标及key
Map<String,Short> headerMapCollection = new HashMap<String,Short>();
//循环第一行所有列
for (Iterator iterator = headerMap.entrySet().iterator(); iterator.hasNext();) {
Map.Entry<String, String> firstMap = (Map.Entry<String, String>) iterator.next();
HSSFCell firstCell = firstRow.createCell((short)firstRowCellIndex);
headerMapCollection.put(firstMap.getKey(), firstCell.getCellNum());
firstCell.setCellType(HSSFCell.CELL_TYPE_STRING);
firstCell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(null == firstMap.getKey()){
firstCell.setCellValue("");
}
else{
firstCell.setCellValue(firstMap.getKey());
}
firstRowCellIndex ++;
}
/**
* 循环列表
*/
int rowIndex = 1;
for (Iterator iterator = infomation.iterator(); iterator.hasNext();) {
Map<String, String> map = (Map<String, String>) iterator.next();
//根据资料的行数创建资料文件行数
HSSFRow row = sheet.createRow(rowIndex);
//循环所有列
for (Iterator fileIterator = map.entrySet().iterator(); fileIterator.hasNext();) {
Map.Entry<String, String> rowMap = (Map.Entry<String, String>) fileIterator.next();
for (Iterator iteratorCell = headerMapCollection.entrySet().iterator(); iteratorCell.hasNext();) {
Map.Entry<String, Short> headerMapValue = (Map.Entry<String, Short>) iteratorCell.next();
if(null != rowMap.getKey() && null != headerMapValue.getKey()){
if(rowMap.getKey().equals(headerMapValue.getKey()) ){
saveInfomation(row, rowMap, headerMapValue);
}
}
else
{
if(rowMap.getKey()==headerMapValue.getKey() ){
saveInfomation(row, rowMap, headerMapValue);
}
}
}
}
rowIndex++;
}
FileOutputStream out;
try {
out = new FileOutputStream(file);
fileMap.put(file.getName(),file.getAbsolutePath());
workbook.write(out);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return fileMap;
}
分享到:
相关推荐
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
本教程将详细介绍如何使用JAVA POI库来创建一个包含图片的完整Excel导出功能。 首先,你需要在项目中引入Apache POI依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache....
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
Java POI导出图片到Excel示例代码详解 Java POI是Java开发中常用的开源库,用于读写Microsoft Office文件格式,包括Excel、Word、PowerPoint等。今天,我们将介绍如何使用Java POI将图片导出到Excel中。 标题解释 ...
在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...
本篇文章将深入讲解如何使用POI库在Java中实现Excel的导出功能,以及涉及到的相关jar包及其作用。 首先,`poi-ooxml-schemas-3.15-beta1.jar`是POI库中的XML schema定义,用于解析和创建符合Office Open XML标准的...
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现Excel的导出。 1. **引入依赖** 在Java项目中使用POI,首先需要在项目的构建文件(如Maven的pom.xml或...
本篇文章将详细介绍如何使用JAVA POI导出Excel。 一、准备工作 在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
Java POI 导入导出Excel简单实例源代码 该源代码的jar包,参见以下博文附录截图 Java POI导出EXCEL经典实现 Java导出Excel弹出下载框 http://blog.csdn.net/evangel_z/article/details/7332535 web页面导出Excel...
使用POI技术对Excel导入导出及支持CSV文件导入导出。
### POI的EXCEL导出,自动换行 在日常工作中,经常需要处理大量的数据导入导出任务,尤其是在企业级应用开发中,Excel文件的处理成为了一项必不可少的能力。Apache POI项目提供了一系列用于读写Microsoft Office...
在Excel导出中,POI提供了HSSF(Horrible Spreadsheet Format)用于处理老版本的.xls文件,而XSSF则用于处理较新的.xlsx文件。 1. **准备工作**:首先,你需要在项目中引入Apache POI库。如果是Maven项目,可以在...
在Java开发中,Apache POI库是处理Microsoft Office文件(如Word、Excel)的强大工具。本文将深入探讨如何使用Java POI生成带有货币格式的Excel文件,这在财务报告和其他需要精确货币显示的应用场景中尤为关键。 ##...
前几天项目上需要加上导入导出,在网上找了一下,么有...于是自己写,源码里所需要的jar都有,从jsp界面进行Excel的导入导出,并可用于上传和下载。如有所用,喜不自禁,分享,开源的意义。 写的不是特别好,不喜勿喷!
Apache POI是一个流行的Java库,用于读取和写入Microsoft Office格式的文件,尤其是Excel(.xlsx和.xls)...理解如何使用POI库可以帮助你更好地集成Excel功能到你的Java项目中,无论是数据导出、报告生成还是数据分析。
Apache POI是一个强大的库,它允许开发者使用Java来读取、写入和修改Microsoft Office格式的文件,包括Excel(.xlsx, .xls)。本项目通过Apache POI实现了Excel的导入与导出功能,并在操作过程中加入了进度条展示,...