zoukankan      html  css  js  c++  java
  • 处理Excel表格里面的数据

    场景:

    朋友有数万条.xlsx的数据,不知道是怎么来的,也不知道什么原因,订单号跟订单描述写入到了同一栏---订单栏;

    现在因为业务需要,想把订单号提取出来单独放一栏;

    对一下计算机小白来说,一条一条的复制粘贴几万条数据可能需要几天的时间,而且难免会操作失误造成数据不准确。

    思路:

    那多对于PHP程序员来说,这个逻辑思路非常的简单;

    首先把表格导入到数据库里面去,PHP操作mysql绝配;

    然后在数据库里面查询订单信息,在每一条订单信息里面匹配订单号;

    然后将匹配的订单号插入到对应的列里面;

    这样整个流程就结束了;

    剩下的交给计算机完成,肯定用不了一个小时的时间。

    解决:

    创建一个数据表,对应.xlsx里面的表头;

    (这里补充一下,如果.xlsx表里面没有唯一标识字段,最好创建一个,为后面PHP操作提供便利)

    打开mysql管理终端Navicat

    连接之后找到刚刚创建的表;

    右键有一个导入向导;

    下一步下一步,选择导入的.xlsx文件,开始导入;

    然后刷新,数据就导入了。

    将.xlsx数据导入到mysq数据表l就完成了第二步,噢,第一步是建表;

    然后在写程序:

    连接上数据库,并选择刚创建的表所在的数据库开始操作;不管是mysql,mysqli还是pdo或者直接操作框架,数据库连接的方式不是难点;

    查询订单信息,获得查询结果;简单的select语句,入门就可以操作;

    遍历查询的结果,foreach函数;

    取出数组里面的每一项,开始使用正则表达式匹配订单号;

    匹配之前先要观察订单号的特点;首先都是数字,那么就匹配出数字,然后是以0开头的数字,就再加上一个限定条件开头是0,然后长度都是12个字节,那就再加上一个字节限制;

    最后就是这样的 "/0d{11}/"

    来个正则匹配,用这个函数preg_match_all($preg,$str,$match);

    匹配的结果就是订单号了;

    然后再对应着修改原来的订单号,将提取的订单号插入进去就完成了。

  • 相关阅读:
    SpringBoot学习
    Matlab立体标定mat转换成Opencv的CvMat
    由lib引发的血案(opencv找不函数问题)
    C# 使用Epplus导出Excel [4]:合并指定行
    C# 使用Epplus导出Excel [3]:合并列连续相同数据
    C# 使用Epplus导出Excel [2]:导出动态列数据
    C# 使用Epplus导出Excel [1]:导出固定列数据
    C# Excel常用控件总结
    C# IsNullOrEmpty与IsNullOrWhiteSpace
    C# 读App.config配置文件[2]: .Net Core框架
  • 原文地址:https://www.cnblogs.com/eis13/p/5549635.html
Copyright © 2011-2022 走看看