导入word模板的数据到DB,偏自学,可自改套用

news2024/11/16 0:17:17
@GetMapping("/importTestPeople")
    public void importTestPeople(@RequestParam("file") MultipartFile multipartFile) throws IOException {
        InputStream inputStream = null;
        File file = null;
        try {

            // 创建临时文件
            file = File.createTempFile("temp", null);
            // 把multipartFile写入临时文件
            multipartFile.transferTo(file);
            // 使用文件创建 inputStream 流
            inputStream = new FileInputStream(file);

            //读取Word文档
            XWPFDocument document = new XWPFDocument(inputStream);

            List<StringBuffer> joinList = new ArrayList<>();

            // 获取文档中的所有表格
            List<XWPFTable> tables = document.getTables();

            for (XWPFTable table : tables) {
                // 获取表格的行
                List<XWPFTableRow> rows = table.getRows();
                // 遍历每一行
                for (XWPFTableRow row : rows) {
                    // 获取行中的单元格
                    List<XWPFTableCell> cells = row.getTableCells();
                    //存入数据
                    StringBuffer stringBuffer = new StringBuffer();
                    // 遍历每个单元格
                    for (XWPFTableCell cell : cells) {
                        // 输出单元格的文本内容
                        System.out.print(cell.getText() + "|");
                        stringBuffer.append(cell.getText() + "|");
                    }
                    joinList.add(stringBuffer);
                    System.out.println(); // 换行
                }
                System.out.println(); // 表格间换行
            }

            for(int i = 0; i<joinList.size();i ++){
                String[] split = joinList.get(i).toString().split("\\|");
                ManualModeInfomation manualModeInfomation = new ManualModeInfomation();
                manualModeInfomation.setId(Integer.valueOf(split[0]));
                manualModeInfomation.setModelId(2);
                //父级
                manualModeInfomation.setFatherLevel(split[1]);
                //子级
                manualModeInfomation.setChildLevel(split[2]);
                //故障现象
                manualModeInfomation.setFaultPhenomenon(split[4]);
                //主要原因
                manualModeInfomation.setMainCause(split[5]);
                //解决方法
                manualModeInfomationMapper.insert(manualModeInfomation);
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            // 最后记得删除文件
            file.deleteOnExit();
            // 关闭流
            inputStream.close();
        }

说明:应用方面是word版且为表格,可解析,能看懂的自然会微调,感谢大家!!!

如:需word为表格形式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2024数模国赛赛题思路公开】国赛C题第二套思路丨附可运行代码丨无偿自提

2024年国赛C题第二套解题思路 第一问&#xff1a;2024~2030年农作物的最优种植方案 【问题分析】 题目要求为某乡村在2024~2030年制定农作物的最优种植方案&#xff0c;目的是最大化收益&#xff0c;并需考虑两种销售情况&#xff1a; 1. 超过预期销售量的部分滞销&#xff0…

首席数据官职位设置流程解析

首席数据官专业能力验证&#xff08;CDO Professional Competency Certification&#xff09;旨在评估并验证那些精通国内外数据安全合规政策、擅长构建数据安全体系以及熟练掌握数据安全管理流程与技术防护手段的专业人士的能力。 为加强数据安全领域的人才队伍建设&#xff…

【网络安全】服务基础第一阶段——第七节:Windows系统管理基础---- Web与FTP服务器

将某台计算机中的⽂件通过⽹络传送到可能相距很远的另⼀台计算机中&#xff0c;是⼀项基本的⽹络应⽤&#xff0c;即⽂件传送。 ⽂件传送协议FTP &#xff08;File Transfer Protocol&#xff09;是因特⽹上使⽤得最⼴泛的⽂件传送协议。 涉及到文件的上传和下载&#xff0c;很…

2024 RustChinaConf 赞助商介绍

2024 RustChinaConf 得到了行业各界的广泛支持&#xff0c;在此向以下赞助商表示感谢&#xff01; 非凸科技 非凸科技是一家全栈使用Rust的金融科技公司&#xff0c;致力于为券商、私募、公募等金融机构及个人投资者提供一站式数智交易领域服务解决方案。作为本次大会的钻石赞助…

常见概念 -- 色度色散与偏振模色散

色度色散(CD) 由于光纤中不同波长对应不同的传输速度&#xff0c;不同波长到达相同距离的光纤的时间不同&#xff0c;从而导致光脉冲展宽。 偏振模色散(PMD) 由于光纤的随机性双折射&#xff0c;不同相位状态的光传播速度不同&#xff0c;使光脉冲展宽。 色散对系统的影响 C…

【办公效率】Axure会议室预订小程序原型图,含PRD需求文档和竞品分析

作品说明 作品页数&#xff1a;共50页 兼容版本&#xff1a;Axure RP 8/9/10 应用领域&#xff1a;中小型企业的会议室在线预订 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本作品为会议室预订小程序原型图&#xff0c;定位于拥有中大型…

太速科技-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡 一、板卡概述 本板卡基于Xilinx公司的FPGA XC7VX690T-FFG1761 芯片&#xff0c;支持PCIeX8、两组 64bit DDR3容量8GByte&#xff0c;HPC的FMC连接器&#xff0c;板卡支持各种FMC子卡扩展。软件支持windows&#xf…

提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具&#xff0c;但有时候遇到个人的特殊情况还是无法满足&#xff0c;这时就可以试着创建自定义脚本工具。 一、编写代码 此处的代码就是一个很简单的给图层更改别名的代码。 1. import arcpy 2. input_fc arcpy.GetParam…

3、无重复字符的最长子串

题目 链接&#xff1a;leetcode链接 思路分析&#xff08;滑动窗口&#xff09; 子串是连续的&#xff0c;很容易联想到滑动窗口&#xff0c;处理连续子串问题很方便。 先设置left和right两个指针&#xff0c;从0位置开始移动。 为了去判断窗口里面有没有出现重复的子串&a…

matplotlib可视化学习

单折线图&#xff1a;显示变量随时间变化而发生的变化&#xff0c;也可以增加标签 多折线图&#xff0c;对比差异 散点图&#xff1a;体现数据在一定范围内的分布情况 box箱图&#xff1a;体现数据的分布情况&#xff0c;与散点图不同的是&#xff0c;它还统计了最大/最小值、中…

基于C+++CSV文件存储开发图书管理系统

简介 这是一个简单的拥有图形界面的图书管理系统。 特色 前后端完全分离易于使用的交互界面 功能介绍 主要有图书管理和用户管理两项功能。 默认读取同一目录下的 user.csv 和 book.csv 作为用户和图书数据文件。也可在登录后导入其他数据文件。 在无数据文件的情况下&am…

2024年6月第2套英语四级真题PDF

2024年6月第2套英语四级真题PDF

python 统计文件夹中图片尺寸

python Code import os import matplotlib.pyplot as plt import numpy as np import copy import shutil import cv2 import matplotlib.pyplot as plt def cv_imread(file_path):#imdedcode读取的是RGB图像cv_img cv2.imdecode(np.fromfile(file_path,dtypenp.uint8),-1)re…

基于STM32的RTOS--freertos的使用(HAL实现多任务)

一&#xff1a;STM32cubemx配置 1&#xff1a;工程建立 &#xff08;1&#xff09;打开stm32cubemx 点击进入芯片选择页面 &#xff08;2&#xff09;选择对应的芯片型号双击 2&#xff1a;调试接口配置 3&#xff1a;时钟设置 使用的开发板没有外部晶振不选择外部使用内部设置…

MacOS---IDEA快捷键:生成get/set方法

介绍 在苹果电脑使用快捷键快速生成get/set方法。 快捷键 Cmdn

【大规模语言模型:从理论到实践】Transformer中PositionalEncoder详解

书籍链接&#xff1a;大规模语言模型&#xff1a;从理论到实践 第15页位置表示层代码详解 1. 构造函数 __init__() def __init__(self, d_model, max_seq_len80):super().__init__()self.d_model d_model # 嵌入的维度&#xff08;embedding dimension&#xff09;d_mode…

Echart 环形图 特殊字体 富文本

注&#xff1a;特殊字体需要UI人员提供一下 .ttf 文件 完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&…

QAM星座图平均功率能量

文章目录 引言结论计算&推导推导公式数值结果验证参考文献 引言 本文主要参考了博客1&#xff0c;文章写的比较漂亮。但可惜推导过程是错误的 结论 先说结论&#xff0c;对于M-QAM调制而言&#xff0c;QAM符号的平均能量 E s E_{s} Es​ 可以由下式计算得到 E s ( M …

使用Qt this->pos,和event->pos 实现界面跟随鼠标移动

对比 this->pos() 表示当前窗口左上角相对于整个桌面屏幕的位置。 如下图所示 event->globalPos() 是当前鼠标点击的位置相对于桌面的位置。 想要做到鼠标界面跟随鼠标左键移动&#xff0c;就需要计算他们的相对位置。 最后让鼠标移动到新的位置的时候&#xff0c;使用…

【SRC挖掘】越权漏洞——burp插件被动检测越权漏洞,一个插件让挖洞效率翻倍!Autorize

越权与未授权漏洞 越权漏洞什么是越权漏洞&#xff1f;Autorize插件安装使用步骤拦截过滤器 越权漏洞 什么是越权漏洞&#xff1f; 越权漏洞是指应用程序未对当前用户操作的身份权限进行严格校验&#xff0c;导致用户可以操作超出自己管理权限范围的功能&#xff0c;从而操作…