• Excel公式知多少?


    下午5点半傍下班来了个急活,领导从三方系统下载的对账单文件,要我导入到一个系统的数据库里。

    写程序不赶趟。

    凭着对excel操作有一些基础,那么,通过excel直接生成所需的insert语句,然后发给运维执行,也许更快!

    原始数据如下:

    接下来要生成数据表各字段的值了。

    首先,要生成唯一单号。规则是 PD+yyyyMMdd+8位长度的序号。

    先新建一列I列,首行是1,双击得到每行的序号。

    然后借助excel公式将生成的单号放在H列:="PD"&SUBSTITUTE(A3,"-","")&RIGHT("00000000"&I3,8)

    接下来,要根据修改时间,生成创建时间。规则是:创建时间比修改时间早1~100秒。

    借助excel公式将生成的创建时间放在J列:=TEXT(F3-TIME(0,0,ROUND( RAND()*100,0)),"yyyy-mm-dd hh:mm:ss")

    其中,

    1. RAND函数用来生成随机数,生成的是0~1之间的小数。
    2. ROUND函数是四舍五入的,这里取整。
    3. TIME函数返回的小数值为0 (零)到 0.99999999之间的数值,代表从0:00:00 (12:00:00 AM)到23:59:59 (11:59:59 P.M.)之间的时间。语法是TIME(hour,minute,second)。比如某单元格=TIME(0,0,5),将单元格格式设置为时间时,显示的是0:00:05。
    4. TEXT函数不知道什么意思,网上说好像还挺强大。我是把大概意思告诉了一个运营小姐姐,人家告诉我的。

    接下来,基本上就没什么难度了。直接点击各单元格生成最终的insert就欧克了。

    ="INSERT INTO t_business_airorders"&RIGHT(LEFT(H6,8),6)&" (OrderId,OrderNo,OrderSt,PayMentSt,BusinessType,MerCode,MerName,ZFDate,ModifyDate,OrderAmount,CreatDate,HKStatus,PayType,KBCode,OrgCode,soncode,CounterFee,validityNum)VALUES('"&H6&"','"&B6&"','YWC','YWC','','9001004221','麦兜兜','"&F6&"','"&F6&"','"&E6&"','"&J6&"','YJS','25','"&H6&"','LD_YS_1_2','','0.00','15');"

    最终的excel长这样:

    把这些insert语句copy出来,放到记事本文件里,发给运维去生产库执行,确认无误,6:30完活。

    如果是现写程序的话,怕是会比这个慢。手里有一把锤子,看到什么都是钉子。程序员嘛,岗位职责就是写代码,不管碰到什么需求,第一反应自然是写程序实现。我记得曾经在某东时,也有听到这样的导入数据的需求,那个转正不久的实习生说写程序得1天。如果他知道excel可以更快交差的话,那岂不是解放生产力了呢。程序员懂一些常用的excel操作是必要的。

  • 相关阅读:
    输入形如"a-b,b-c,b-d"的字符串,当作相邻路径,计算最远路径
    即时通信软件后端API文档
    Django中,使用redis作为缓存
    Django中,websocket实时通信设置概要
    在Django中,自定义User模型,使用token鉴权,实现注册、登录、修改密码等API
    Django中,用rest_framework写API
    偶尔练习一下,go语言做题目
    关于邮政储蓄卡内钱被盗的思考
    浅谈图片上传之剪切
    JavaScript学习笔记
  • 原文地址:https://www.cnblogs.com/buguge/p/12196041.html
Copyright © 2020-2023  润新知