当前位置: 首页 > news >正文

Java【代码 18】处理Word文档里的Excel表格数据(源码分享)

处理Word文档里的Excel表格数据

  • 1.原始数据
  • 2.处理程序
    • 2.1 识别替换表格表头
    • 2.2 处理多余的换行符
    • 2.3 处理后的结果
  • 3.总结

1.原始数据

Word 文档里的 Excel 表格数据,以下仅为示例数据:

读取后的字符串数据为:

"姓名\r\n身份证号\r\n手机号\r\n户籍地\r\n张三丰\r\n411381198909092222\r\n15713862222\r\n河南郑州\r\n李四方\r\n411381198909093333\r\n15713863333\r\n河南新乡\r\n王五福\r\n411381198909095555\r\n15713865555\r\n河南安阳\r\n"

每个字段都有换行:

姓名
身份证号
手机号
户籍地
张三丰
411381198909092222
15713862222
河南郑州
李四方
411381198909093333
15713863333
河南新乡
王五福
411381198909095555
15713865555
河南安阳

2.处理程序

2.1 识别替换表格表头

首先要定位表格数据的开始和结束,示例中的 sonString表格前面有一些数据,表格的后面就没有数据了【要注意这点儿】。

    /*** 处理包含表格的正文字符串** @param sonString 正文字符串* @return 处理后的正文字符串*/private String deal(String sonString) {// 1.判断是否存在表格固定表头boolean contains = sonString.contains("姓名\r\n身份证号\r\n手机号\r\n户籍地\r\n");if (contains) {String headerStr = "姓名,身份证号,手机号,户籍地\r\n";// 2.将换行数据处理为一行数据sonString = sonString.replace("姓名\r\n身份证号\r\n手机号\r\n户籍地\r\n", headerStr);// 3.处理表格数据int headerIndex = sonString.indexOf(headerStr);String personInfoStr = sonString.substring(headerIndex + headerStr.length());// 4.处理人员信息String personInfo = dealPersonInfoStr(personInfoStr);// 5.替换原有数据sonString = sonString.replace(personInfoStr, personInfo);}return sonString;}

2.2 处理多余的换行符

    /*** 处理每行数据里多余的换行符** @param personInfoStr 人员信息* @return 处理后的人员信息*/private String dealPersonInfoStr(String personInfoStr) {int infoLength = 4;String[] infoArr = personInfoStr.split("\r\n");StringBuilder personInfo = new StringBuilder();for (int i = 1; i < infoArr.length + 1; i++) {if (i % infoLength == 0) {personInfo.append(infoArr[i - 1]).append("\r\n");} else {personInfo.append(infoArr[i - 1]).append(",");}}return personInfo.toString();}

2.3 处理后的结果

"姓名,身份证号,手机号,户籍地\r\n张三丰,411381198909092222,15713862222,河南郑州\r\n李四方,411381198909093333,15713863333,河南新乡\r\n王五福,411381198909095555,15713865555,河南安阳\r\n"
姓名,身份证号,手机号,户籍地
张三丰,411381198909092222,15713862222,河南郑州
李四方,411381198909093333,15713863333,河南新乡
王五福,411381198909095555,15713865555,河南安阳

3.总结

  • 代码是根据固定表头进行的处理,表头信息可以进行配置;
  • 需要定位表格数据。
http://www.lryc.cn/news/442885.html

相关文章:

  • 21、Tomato
  • 代码随想录 八股文训练营40天总结
  • Debian 12上安装google chrome
  • Python | Leetcode Python题解之第405题数字转换为十六进制数
  • 定位坐标系
  • 安全通信网络等保
  • 7--SpringBoot-后端开发、原理详解(面试高频提问点)
  • wordpress主题摘要调用显示错误解决办法
  • 【ESP32】ESP-IDF开发 | UART通用异步收发传输器+串口收发例程
  • 2025秋招LLM大模型多模态面试题(六)-KV缓存
  • matlab边缘点提取函数
  • Redis 执行 Lua,能保证原子性吗?
  • 让模型评估模型:构建双代理RAG评估系统的步骤解析
  • RabbitMQ 高级特性——发送方确认
  • 马踏棋盘c++
  • OpenSSH从7.4升级到9.8的过程 亲测--图文详解
  • 系统分析与设计
  • vite 使用飞行器仪表示例
  • 【隐私计算】Cheetah安全多方计算协议-阿里安全双子座实验室
  • Python 实现Excel XLS和XLSX格式相互转换
  • 黑马智数Day1
  • 网络协议全景:Linux环境下的TCP/IP、UDP
  • 制造企业MES系统委外工单管理探析
  • 【C语言-数据结构】顺序表的基本操作
  • 使用Renesas R7FA8D1BH (Cortex®-M85)实现多功能UI
  • 【java】常见限流算法原理及应用
  • Git 原理(提交对象)(结合图与案例)
  • STM32如何修改外部晶振频率和主频
  • 【JAVA入门】Day48 - 线程池
  • 图像亮度均衡算法