poi解析word和excel文档

本文涉及的产品
可视分析地图(DataV-Atlas),3 个项目,100M 存储空间
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: poi解析word和excel文档
-
package com.gxt.testcase.service.impl;
import com.jj.system.pojo.web.SmUploadfile;
import com.jj.system.service.web.SmUploadfileService;
import java.io.InputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.TableIterator;
import org.apache.poi.hwpf.usermodel.Table;
import org.apache.poi.hwpf.usermodel.TableRow;
import org.apache.poi.hwpf.usermodel.TableCell;
import org.apache.poi.hwpf.usermodel.Range;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ExecuteDataTimer
{
  @Autowired
  private SmUploadfileService smUploadfileService;
  /**
   * 解析excel中的内容
   * @param smUploadfile
   * @return
   * @throws IOException
   */
  private Map<String, Object> testdataImport(SmUploadfile smUploadfile)
    throws IOException
  {
    //1.根据路径取到相关文件
      String filePath = this.smUploadfileService.getAbsFilePath(smUploadfile.getPath() + smUploadfile.getId());
      InputStream is = new FileInputStream(filePath);
      HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
      //2.循环工作簿进行解析取值
      for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++)
      {
        TpTestdataVO tpTestdataVO = new TpTestdataVO();
        tpTestdataVO.setFileId(smUploadfile.getId());
        HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
        System.out.println("===========" + hssfSheet.getSheetName());
        //3.判断工作面是否为空,如果不为空,则进行解析操作
        if (hssfSheet != null)
        {
          //4.获取第0行的内容
          HSSFRow hssfRow0 = hssfSheet.getRow(0);
      //5.获取第0行第1列的内容
      hssfRow0.getCell(0)
        }
    }
  }
  /**
   * 解析word文件内容-马康-2016年12月14日10:38:38
   * @param smUploadfile 传入的文件内容
   * @return
   */
  private Map<String, Object> testWordImport(SmUploadfile smUploadfile)
  {
      //1.通过路径获取文件
      String filePath = this.smUploadfileService.getAbsFilePath(smUploadfile.getPath() + smUploadfile.getId());
      //2.通过路径获取字节流
      FileInputStream in = new FileInputStream(filePath);
      POIFSFileSystem pfs = new POIFSFileSystem(in);
      HWPFDocument hwpf = new HWPFDocument(pfs);
    //3.获取字节流的组个数
      Range range = hwpf.getRange();
      TableIterator it = new TableIterator(range);
      //4.循环模板表
      while (it.hasNext())
      {
        System.out.println("table===============");
        //5.获得world中的下一个表格信息
        Table tb = it.next();
        //6.获得第一行的内容
        TableRow tr0 = tb.getRow(0);
    //7.获取行数
        int asdfaf =tb.numRows();
    //8.获取列内容
    TableCell td = tr0.getCell(1);
        String content = getCellText(td.text().replace(" ", ""));
    }
  }
    private String getCellText(String text)
  {
    return text.replace("\007", "");
  }
}
-
相关实践学习
DataV Board用户界面概览
本实验带领用户熟悉DataV Board这款可视化产品的用户界面
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
1月前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
141 5
|
3天前
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
36 7
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
117 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
883 0
|
2月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
71 0
|
4月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
313 0
|
24天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
163 4
|
4月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
55 0
|
2月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。

推荐镜像

更多