首页 > 其他分享 >poi解析word和excel文档

poi解析word和excel文档

时间:2022-12-05 16:37:54浏览次数:34  
标签:word poi excel smUploadfile org apache import hwpf

-
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", "");
	}

}
-

标签:word,poi,excel,smUploadfile,org,apache,import,hwpf
From: https://blog.51cto.com/u_14471711/5913019

相关文章

  • 前端 word 导出
    前端的常规导出,一般是excel,下载图片什么。word的导出有点不太一样。导出前的准备,安装相关依赖importDocxtemplaterfrom'docxtemplater'importPizZipfrom'pizzi......
  • ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Y
    在Ubuntu下想要登录mysql数据库root@JD:~#mysql-uroot-p报错ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)导致登录......
  • 4、excel快速排序从1开始
    在分世界杯的文件时,要求把每一行从1开始排列,自己的做法就是先输入1和2,然后拖黑1和2,接着鼠标一直往下拖,这样就了。公式的方法:输入公式=Row()-1,如何在这个单元格的右下角双......
  • 如何通过Java将Word转换为PDF
    Word是我们日常编辑文档内容时十分常用的一种文档格式。但相比之下,PDF文档的格式、布局更为固定,不易被更改。在保存或传输较为重要的文档内容时,PDF文档格式也时很多人的不......
  • c#中使用Aspose.Word组件,将数据和图片导出至Word
    上一篇分享的是导出Excel的示例,今天分享将数据导出至Word,以及如何读取Word文档中的图片。用的组件包括2个,分别是Aspose.Word和Spire.Doc。这2个组件,都可以从Nuget中下载获......
  • Access Excel or CSV Files Saved on Power BI Report Server Directly
     2)    OpenPowerBIandselect[GetData],frommainscreenor“Home”menuonthePowerBIdesktop. 3)    Choose[Web]asaquerydatasourc......
  • Python 操作 Excel
    Python操作Excel目录Python操作Excel1安装pandas2pandas中操作Excel的函数2.1loc()2.1.1根据某些条件选择数据2.1.2选择一个行的范围2.1.3根据条件更新列的值......
  • Wps调用dll操作Excel表格转PDF
     起始原因:wps编辑创建的文档在microsoftoffice中打开,会报内容存在异常是否恢复,因此wps文件被微软设定为破损文件,无法对原有文档进行操作运行,故在此使用wps对Excel进行......
  • wps - Word文档打开后不能编辑
    Word文档打开后不能编辑解决方式【审阅】-【限制编辑】-【设置文档的保护方式】-【修订】-【启动保护】-【停止保护】Word文档打开后不能编辑,可以这样处理打开Word文档......
  • 全力打造国内版wordpress,小伙伴们快来围观!
    基于Thinkphp6+Element的插件化管理系统,网站、小程序、商城、CMS、APP、ERP、API接口一个系统全部搞定,无需脚手架开箱即用!主要特性支持php7.1+基于Auth验证的权限管理系......