个人说明:为了简单实现导出数据较少的EXCEL(根据自定义书签模板)

一、替换Excel表格标签方法

```

/**

* 替换Excel模板文件内容

* @param map

* 需要替换的标签建筑队形式

* @param intPath

* Excel模板文件路径

* @param outPath

* Excel生成文件路径

*/

public static boolean replaceSheetsModel(Map map, String intPath, String outPath) {

boolean flag = true;

try {

FileInputStream fs = new FileInputStream(intPath);

//EXCEL xlsx格式与xls格式用的类是不同的,xlsx用的是XSSFWorkbook

XSSFWorkbook workbook = new XSSFWorkbook(fs);

XSSFWorkbook wb = (XSSFWorkbook) workbook;

XSSFSheet sheet;

//由于个人使用是多sheet故获取excel对象后进行sheet遍历,分别对每个sheet里面的标签进行替换

for (int j = 0; j < wb.getNumberOfSheets(); j++) {

sheet = workbook.getSheetAt(j);

Iterator rows = sheet.rowIterator();

while (rows.hasNext()) {

XSSFRow row = (XSSFRow) rows.next();

if (row != null) {

int num = row.getLastCellNum();

for (int i = 0; i < num; i++) {

XSSFCell cell = row.getCell(i);

if (cell != null) {

cell.setCellType(XSSFCell.CELL_TYPE_STRING);

}

if (cell == null || cell.getStringCellValue() == null) {

continue;

}

String value = cell.getStringCellValue();

if (!"".equals(value)) {

Set keySet = item.keySet();

Iterator it = keySet.iterator();

while (it.hasNext()) {

String text = it.next();

if (value.equalsIgnoreCase(text)) {

cell.setCellValue((String) item.get(text));

break;

}

}

} else {

cell.setCellValue("");

}

}

}

}

}

// 输出文件

FileOutputStream fileOut = new FileOutputStream(outPath);

wb.write(fileOut);

fileOut.close();

} catch (Exception e) {

flag = false;

e.printStackTrace();

}

return flag;

}

```

二、借助main方法进行测试

```

public static void main(String[] args) {

Map map = new HashMap();

map.put("aa", "sheet1");

map.put("bb", "sheet2");

map.put("cc", "sheet3");

map.put("dd", "sheet4");

// test.xlsx为Excel模板文件,sheets.xlsx为程序生成的新文件

replaceSheetsModel(item, "f:\test.xlsx", "f:\\sheets.xlsx");

}

```

三、工具包说明(JAVAPOI)

1.头部核心

```

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFRow;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

```

2.工具包名称以及版本

poi-ooxml 3.16

如有疑问,若不嫌弃,可私信我,也可一起探讨POI 操作EXCEL表格,相互成长

java excel 模板 替换_JAVA POI替换EXCEL模板中自定义标签(XLSX版本)满足替换多个SHEET中自定义标签...相关推荐

  1. java 导出批量图片_Java Poi 导出excel(含图片及多个sheet)

    因为之前做的导出都是导出数据的基本信息不含图片的那种,一直也没做过导出图片的excel,正好这两天做这个需求就做了一个,好 废话不多说,直接上图 ,因为我这边是根据模板导出数据 先看下模板 然后上代码 ...

  2. java poi excel 导入数据库_java POI 处理excel表格数据并导入数据库示例

    java操作Excel最常用的开源组件有poi与jxl.jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007. poi是apache下的一个子项目,poi应该是处理ms的 ...

  3. java excel公式计算_java poi读取excel公式,返回计算值(转) | 学步园

    http://blog.csdn.net/CYZERO/article/details/6573015 经测试,确实可以 1 package hrds.zpf.poi; 2 3  import org ...

  4. java excel 多列排序_java poi处理excel多sheet并实现排序

    需求:有一个数据字典全量汇总表,其中第一个sheet为目录,包括编号和表名,第二个以后为表的明细.其中sheet名就是表名但无序,sheet内字段序号无序有空行 现在要求将其中101,104,107, ...

  5. 如何用java POI在excel中画线_java poi对excel的操作详解

    一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二. HSSF概况 HSSF 是 ...

  6. java导出excel 客户端_Java poi导出Excel下载到客户端

    Java poi 导出Excel并下载到客户端,具体内容如下 Maven配置,包含了其他文件格式的依赖,就全贴出来了 org.apache.poi poi-excelant 3.12 org.apac ...

  7. java给Excel表格赋值_Java 实现 给Excel模板赋值(直接打开表格赋值或者用自定义了名称的单元格(一块区域)赋值)...

    1:需求 直接打开表格填充数据到模板后的效果可能出现表格重叠的问题用自定义名称填充数据到模板后表格互不影响 Excel自身有一个"定义名称"的功能, (1)可以给任意的单元格定义一 ...

  8. java给excel填充数据_Java实现给Excel模板赋值(直接打开表格赋值或者用自定义了名称的单元格(一块区域)赋值)...

    1:需求 直接打开表格填充数据到模板后的效果可能出现表格重叠的问题 用自定义名称填充数据到模板后表格互不影响 Excel自身有一个"定义名称"的功能, (1)可以给任意的单元格定义 ...

  9. java word 题目导入_Java导入导出Excel和Word

    目的 实现Excel/Word导入导出,分以下步骤 导入 上传文件 解析Excel/Word里面的内容 导出 生成Excel/Word文件 文件下载 如何实现 上传文件----------Common ...

最新文章

  1. Django model层 mysql_Django模型层(models.py)之模型创建
  2. 【IOS 开发】Objective - C 入门 之 数据类型详解
  3. CVPR2017: Learning Deep Context-aware Features over Body and Latent Parts for
  4. MATLAB:图像半色调技术简介
  5. python 使用requests模块进行 视频文件的下载
  6. FreeSql (三十一)分区分表
  7. 良好的树结构设计会让开发更舒爽
  8. 优秀的代码都是如何架构和分层的?
  9. 最新支付宝扫码点餐系统小程序源码带部署教程
  10. ffmepg处理10bit 和8bit yuv总结
  11. Spring Data Rest学习篇----@Projection
  12. 6个方法帮交互设计师与上下游顺畅合作
  13. python批量下载网易云音乐音乐列表
  14. 第七章第八章思维导图
  15. 了解一下Go中的“sb“代码?
  16. 女篮亚军,为啥男篮那么水?
  17. IDEA 2020主菜单隐藏了
  18. 电脑和打印机怎么连接
  19. 什么是模块化,为什么要模块化?
  20. java 正则表达式去除字符串中的转义字符(/b /u0002 /u001D等)

热门文章

  1. Flask项目--预防csrf攻击原理
  2. linux 共享移动硬盘,随时登陆上QQ 自带Linux移动硬盘实战
  3. java fast math,Java FastMath.signum方法代码示例
  4. JavaScript使用场景
  5. 在Python2.7下如何安装TA-lib库
  6. PHP Cookie和Session
  7. jquery post php返回html,jquery ajax post 提交数据,返回的是当前网页的html?
  8. java 线程 状态 图_Java提高——多线程(一)状态图
  9. java线程自带队列的使用以及线程阻塞
  10. .Net序列化与反序列化的2种方法