poi 操作excel和word(修改样式和内容)

package com.zhibei.utils;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import com.zhibei.otldb.api.Api;

import com.zhibei.otldb.mapper.OtlColumn;

import com.zhibei.otldb.mapper.OtlMapperManager;

import com.zhibei.otldb.mapper.OtlNColumn;

import com.zhibei.pojo.Record;

import org.apache.poi.POIXMLDocument;

import org.apache.poi.POIXMLTextExtractor;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hwpf.extractor.WordExtractor;

import org.apache.poi.openxml4j.opc.OPCPackage;

import org.apache.poi.ss.usermodel.*;

import org.apache.poi.xwpf.extractor.XWPFWordExtractor;

import org.apache.poi.xwpf.usermodel.XWPFDocument;

import org.apache.poi.xwpf.usermodel.XWPFParagraph;

import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.*;

import java.util.ArrayList;

import java.util.List;

public class PoiUtil {

private static OtlColumn otlUnit;

private static OtlNColumn otlnColumn ;

public static ListimportXLS(){

ArrayListlist = new ArrayList<>();

try {

//1、获取文件输入流

InputStream inputStream = new FileInputStream("E:\\文档\\poi\\2015级软件工程1班.xls");

//2、获取Excel工作簿对象

HSSFWorkbook workbook = new HSSFWorkbook(inputStream);

//3、得到Excel工作表对象

HSSFSheet sheetAt = workbook.getSheetAt(0);

//4、循环读取表格数据

for (Row row : sheetAt) {

//首行(即表头)不读取

if (row.getRowNum() == 0) {

continue;

}

//读取数据前设置单元格类型

row.getCell(0).setCellType(CellType.STRING);

//读取当前行中单元格数据,索引从0开始

String id = row.getCell(0).getStringCellValue();

String groupName = row.getCell(1).getStringCellValue();

String adminiStrator = row.getCell(2).getStringCellValue();

String userName = row.getCell(3).getStringCellValue();

String politicalStatus = row.getCell(4).getStringCellValue();

row.getCell(5).setCellType(CellType.STRING);

String Contactinformation = row.getCell(5).getStringCellValue();

String fullName = row.getCell(6).getStringCellValue();

String reason = row.getCell(7).getStringCellValue();

Record record = new Record();

record.setAdminiStrator(adminiStrator);

record.setContactinformation(Contactinformation);

record.setFullName(fullName);

record.setGroupName(groupName);

record.setId(id);

record.setPoliticalStatus(politicalStatus);

record.setReason(reason);

record.setUserName(userName);

list.add(record);

}

//5、关闭流

workbook.close();

} catch (IOException e) {

e.printStackTrace();

}

return list;

}

public static void exportExcel(Listlist ) throws IOException {

//1.在内存中创建一个excel文件

HSSFWorkbook hssfWorkbook = new HSSFWorkbook();

//2.创建工作簿

HSSFSheet sheet = hssfWorkbook.createSheet("软件团员关系转出");

Font font = hssfWorkbook.createFont();

font.setBold(true);

font.setColor((short) 13);

font.setFontHeightInPoints((short) 24);

font.setFontName("Arial");

CellStyle cellStyle = hssfWorkbook.createCellStyle();

cellStyle.setFont(font);

//3.创建标题行

HSSFRow titlerRow = sheet.createRow(0);

titlerRow.createCell(0).setCellValue("团员id");

titlerRow.createCell(1).setCellValue("目前所在团支部");

titlerRow.createCell(2).setCellValue("团支书");

titlerRow.createCell(3).setCellValue("团员姓名");

titlerRow.createCell(4).setCellValue("政治面貌");

titlerRow.createCell(5).setCellValue("手机");

titlerRow.createCell(6).setCellValue("转出团支部");

titlerRow.createCell(7).setCellValue("原因");

//4.遍历数据,创建数据行

for (Record record : list) {

//获取最后一行的行号

int lastRowNum = sheet.getLastRowNum();

HSSFRow dataRow = sheet.createRow(lastRowNum + 1);

dataRow.createCell(0).setCellValue(record.getId());

Cell cell =dataRow.createCell(1);

cell.setCellStyle(cellStyle);

cell.setCellValue(otlUnit.encrypt(record.getGroupName()));

dataRow.createCell(2).setCellValue(record.getAdminiStrator());

dataRow.createCell(3).setCellValue(record.getUserName());

dataRow.createCell(4).setCellValue(record.getPoliticalStatus());

dataRow.createCell(5).setCellValue(record.getContactinformation());

dataRow.createCell(6).setCellValue(record.getFullName());

dataRow.createCell(7).setCellValue(record.getReason());

}

// 输出Excel文件

try {

FileOutputStream fos = new FileOutputStream(new File("/软件团员关系转出.xls"));

hssfWorkbook.write(fos);

hssfWorkbook.close();

fos.close();

System.out.println("生成excel文档成功");

} catch (Exception e) {

e.printStackTrace();

System.out.println("生成excel文档失败");

}

}

public static String readWord(String path) {

String buffer = "";

try {

if (path.endsWith(".doc")) {

InputStream is = new FileInputStream(new File(path));

WordExtractor ex = new WordExtractor(is);

buffer = ex.getText();

} else if (path.endsWith("doc")) {

OPCPackage opcPackage = POIXMLDocument.openPackage(path);

POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);

//extractor.hashCode("我");

buffer = extractor.getText();

}else if (path.endsWith("docx")) {

OPCPackage opcPackage = POIXMLDocument.openPackage(path);

POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);

buffer = extractor.getText();

extractor.close();

} else {

System.out.println("此文件不是word文件!");

}

} catch (Exception e) {

e.printStackTrace();

}

return buffer;

}

/**

*

* @param inputUrl 模板路径

* @param outputUrl 模板保存路径

*/

public static void changeWord(String inputUrl, String outputUrl,int status){

try {

//获取word文档解析对象

XWPFDocument doucument = new XWPFDocument(POIXMLDocument.openPackage(inputUrl));

//获取段落文本对象

Listparagraphs = doucument.getParagraphs();

for (int i=0;iruns = xwpfParagraph.getRuns();

for (int l=0;lrecords = PoiUtil.importXLS();

// for (int i=0;i

需要添加的依赖:

org.apache.poi

poi

3.15

org.apache.poi

poi-ooxml

3.15

org.apache.poi

poi-scratchpad

3.15

org.apache.xmlbeans

xmlbeans

2.5.0

java 操作 word 表格和样式_poi 操作excel和word(修改样式和内容)相关推荐

  1. vba根据内容调整word表格_分析报告自动化——Excel与Word数据互通

    写在前面:本次分享出的内容,您真的非常值得研究. 对于将Excel里面的内容传送至Word的办法,大部分可能都知道用"邮件" 的合并功能.实际上,办法不止这么一个,其实,还有好几种 ...

  2. poi 设置word表格颜色_办公软件小课堂 Word表格的设置

    你是否还在为考证烦恼?是否不知从何学起?学习部每周的办公软件小课堂!这里总有你想要的! 本周给大家整理的是 Word表格的设置 01 插入选择卡→表格 02 文本转表格 步骤1:选中要转换成表格的文本 ...

  3. easypoi导出word表格_拒绝加班,批量将word文档中的信息高效率提取出来存储到Excel中...

    最近,有小伙伴跟我提了一个需求,小伙伴是做扶贫工作的,从扶贫系统里面可以批量的导出每一户的信息到一个word文档中,导出的内容是在word中是以表格的形式存在的.小伙伴的需求是如何批量的将每个word ...

  4. 【Python】Python提取word表格,并保存在excel中

    需求:一些常用的对word的操作和提取word的表格,并保存在excel中 pip install python-docx from docx import Document from openpyx ...

  5. python处理word表格excel_利用Python将excel数据读取到word表格

    在工作中可能需要两者对excel和word进行转化,今天介绍例如Python 将excel转word表格 看图,我需要将这份excel文档转word表格: 思路: 1.创建需要的表格: 2.读取exc ...

  6. python word 表格 框线_Python 自动化办公 | 将 Word 表格转为 Excel

    原标题:Python 自动化办公 | 将 Word 表格转为 Excel 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共 ...

  7. python合并word表格单元格_python docx模块读取word表格遇到合并单元格时的处理

    python docx模块读取word表格遇到合并单元格时的处理 python docx模块读取word表格遇到合并单元格时的处理 python docx模块读取word表 遇到合并单元格时的处理 通 ...

  8. java ireport生成pdf_Ireport,JAVA报表制作并导出(pdf、excel、word)

    ireport使用javabean作为数据源生成报表并导出 (pdf.excel.word) 1.首先需要下载报表模板制作软件,我使用的是iReport-5.6.0.下载好后开始画自己的模板.最好是先 ...

  9. Java用ireport导出word_Ireport,JAVA报表制作并导出(pdf、excel、word)

    ireport使用javabean作为数据源生成报表并导出 (pdf.excel.word) 1.首先需要下载报表模板制作软件,我使用的是iReport-5.6.0.下载好后开始画自己的模板.最好是先 ...

最新文章

  1. 多用户使用一台计算机可设置,《计算机应用基础》试卷(A)
  2. python通用权限管理框架图_通用权限管理设计篇_设计模式
  3. C51汇编伪指令 CSEG DSEG
  4. [转]RedHat Enterprise Linux 7关闭防火墙方法
  5. 物理光学11 衍射的基本概念与惠更斯原理
  6. python报错 scrolled: false_python 元组tuple - python基础入门(14)
  7. Java2017面试宝典--XML部分、 流行的框架与新技术、软件工程与设计模式、 j2ee部分、EBJ部分、 webservice部分...
  8. 数的划分(洛谷-P1025)
  9. 上机练习 实现消费单的打印 需求不明确要补充
  10. 剑指 Offer 55 - I. 二叉树的深度
  11. 【李宏毅2020 ML/DL】P43-44 More about Adversarial Attack | Images Audio
  12. 10个最新交互式Web设计实例欣赏
  13. 二元隐函数求二阶偏导_多元函数隐函数微分 二阶偏导的求法
  14. 配置 Android 的 SDK, DNK, JDK, ANT 环境
  15. 华为计算机网络基础知识,华为HCNE专题一:网络基础知识
  16. 可视化设计之迷失扁平化风潮
  17. book--Unix Linux大学教程
  18. python所有内置函数的简单使用
  19. 推荐收藏 | 100个数据分析常用指标和术语
  20. 2.5 亿!华为成立新公司

热门文章

  1. MySQL分库分表 mycat
  2. asp.net core json返回的时间格式出现T 如何解决
  3. Codeforces #440.Div.2
  4. 9本java程序员必读的书(附下载地址)
  5. Python快速入门(1)
  6. 使用Arcgis进行画面(线)并计算大小(长度)。
  7. RocketMQ事务消息实现分析
  8. 使用git下载giuhub中的项目
  9. [0] OpenCV_Notes - 琐碎
  10. 【转】自旋锁及其衍生锁