今天接到一个根据excel来更新数据库的需求,用php写个小脚本
需求大概内容是,excel中有些条目需要删除、有些需要新增,就需要基于这份excel生成删、增的SQL。
要求是这样的:蓝色要删除的,黄色是要新增的,白色和灰色的不用管。
我第一时间就在想:还得识别单元格颜色?
excel长这样:
这种小需求用php来处理就很方便,用的框架是yii。
发现读取到的只有文本:
所以让需求发起方在文本旁边一栏加了一个标识:
这样我就能准确知道哪些是删除的、哪些是新增的了,这下好办了:
使用switch咔咔一顿判断,搞定这个小脚本:
最终生成的新增、删除SQL:
这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。
想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。
感谢你的阅读与支持,期待在未来的文章中与你再次相遇!
今天接到一个根据excel来更新数据库的需求,用php写个小脚本的更多相关文章
- excel表格导入数据库数据存在则更新不存在添加
public void excelToDB() throws ParseException { String datapath = this.getParameter("datapath&q ...
- 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据
有一个需求是这样的,我们需要更新数据库中的数据,数据时这样的 1.大约50万以上 2. 数据中有较多的重复数据 3. 需要将表中最近的代理商的名称赋值给行中的服务商名称 4. 代理商的名称可能有多个, ...
- 【记录一个问题】golang的xorm组件更新数据库未生效
代码中使用了类似的方式来更新数据库: func (writer *dbWriter) updateVersion(ctx context.Context, IP string, version str ...
- [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- python将excel数据写入数据库,或从库中读取出来
首先介绍一下SQL数据库的一些基本操作: 1创建 2删除 3写入 4更新(修改) 5条件选择 有了以上基本操作,就可以建立并存储一个简单的数据库了. 放出python调用的代码: 此处是调用dos 操 ...
- Excel 读取写入数据库
// Excel 读取写入数据库 // 3.8版本的poi 4.0 可以不用写 parseCell 这个方法,可以直接赋值 STRING 类型 import org.apache.poi.hss ...
- MVC Code First 当实体类发生变化时,如何自动更新数据库表
下面做一个例子,Category是用户新建的一个实体类,然后添加一个字段,然后让数据库中的Category表也添加一个字段 1.Category.cs
- 使用CodeFirst创建并更新数据库
本文主要介绍如何使用CodeFirst模式来新建并更新数据库 在使用Entity Framwork的三种方式(ModelFist.DBFirst.CodeFirst)中,CodeFirst方式书写的代 ...
- 基于现有数据库的Code First模式迁移更新数据库
本文讨论的内容是基于EF4.1版本.文中谈论的现有的数据库不是由EF创建.本文假定你已经对Code First迁移有一定的了解,如果不了解Code First迁移更新数据库可以查看 文章涉及的主题如下 ...
随机推荐
- 14.4 Socket 双向数据通信
所谓双向数据传输指的是客户端与服务端之间可以无差异的实现数据交互,此类功能实现的核心原理是通过创建CreateThread()函数多线程分别接收和发送数据包,这样一旦套接字被建立则两者都可以异步发送消 ...
- automapper 10 +autofac+asp.net web api
automapper 不必多说 https://automapper.org autofac 这里也不多说 https://autofac.org 这里主要 说 automapper 10.0 版本+ ...
- JDK8新特性Stream流操作
1 package stream; 2 3 import java.util.ArrayList; 4 import java.util.function.Function; 5 import jav ...
- centos7.9离线升级openssl和openssh9.2
前言 最近有几台服务器漏扫出了关于openssh的漏洞,升级完后顺便记录一下. 环境 CentOS Linux release 7.9.2009 (Core) 开始升级 准备工作 下载安装包: zli ...
- Linux RDP 会话中无法打开VSCode 解决办法
github issue: VS Code "and still" won't open in a Linux xrdp session Workaround- Linux RDP ...
- (Python)每日代码||2024.1.18
m = 10 a = 10 print(id(m)) print(id(a)) '''输出 140713874176728 140713874176728 ''' print() a = 1 b = ...
- ubuntu之jupyter notebook配置
ubuntu之jupyter notebook配置 安装jupyter: 前提:安装pip pip install jupyter jupyter notebook 配置: 生成配置文件: jupyt ...
- 写好C#代码的技巧
写好C#代码的技巧 编者导语 本文来自https://www.pluralsight.com,作者Afzaal Ahmad Zeeshan. 原文包含以下三篇文章: <编写更好的C#代码简介&g ...
- 使用mail发送邮件
使用mail发送邮件 只做个简单介绍,使用场景不多 1.安装mail yum install mailx -y 2.配置 1)配置文件在/etc/mail.rc,有兴趣的可以仔细读一下默认的配 ...
- NC20960 迪拜的超市
题目链接 题目 题目描述 forever97家住迪拜一环,因此有很多大大小小的商场. 迪拜一环有n个超市,分别在坐标轴[1,n]位置,forever97家在0这个位置. 由于日常开销巨大,所以Trot ...