1、在一些场景中经常需要管理员批量导入数据,先将数据写到excel表格中,再上传到系统上,最后将excel中的数据批量导入到系统的数据库中。

1.1、test.xlsx文件数据格式

首行的名字:必须是数据库对应的字段名,这样才能使用**打散字典,实现快速创建。

2、视图类如何实现

class TestExcelView(ViewSet):authentication_classes = []permission_classes = []throttle_classes = []@action(methods=['get'],detail=False)def testexcel(self,request):path=os.path.join(settings.MEDIA_ROOT,'students_excels','test.xlsx')wb = openpyxl.load_workbook(path)ws = wb.activemax_row = ws.max_rowmax_column = ws.max_columnall_lis=[]lis=[]for row in range(1,max_row+1):dic={}for column in range(1,max_column+1) :if row==1:#将首行的东西加到列表中lis.append(ws.cell(row,column).value)continue#将行首标题作为的key,其余行对应列作为value,拿到dict,一行就一个dictdic.setdefault(lis[column-1],ws.cell(row,column).value)if row>1:#首行的dict就是空,不需要加入all_lis.append(dic)try:for user_dic in all_lis:models.User.objects.create_user(**user_dic)return ApiResponse(msg='创建用户成功',data=all_lis)except:return ApiResponse(data={'erroe':'excel文件有问题,先检查文件格式'})

3、all_list的数据格式

一行就是一条数据库的记录,创建用户时直接 **dic,就可以实现创建记录。

其他批量的生成的数据原理也是一样的。

django通过openpyxl操作excel文件,实现批量导入数据到数据库。相关推荐

  1. java excel导出2007_java操作excel文件,实现批量导出,和导入

    一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...

  2. CATIA通过excel文件快速批量导入材料库

    CATIA通过excel文件快速批量导入材料库 在excel中编辑材料库,并保存,如图所示: 将MATLAB代码中的inputFilename改为材料库对应的文件名,运行代码(excel文件需要和MA ...

  3. 怎么接收layui上传的文件_layui 上传文件_批量导入数据UI的方法

    使用layui的文件上传组件,可以方便的弹出文件上传界面. 效果如下: 点击[批量导入]按钮调用js脚本importData(config)就可以实现数据上传到服务器. 脚本: /*** * 批量导入 ...

  4. matlab常用代码(读取文件、批量导入数据、与或非)

    学习matlab使用过程中遇到的各种常见小操作,放在这里权当记录,持续更新中.包括批量导入数据.读取/写入不同类型的文件.与或非.cell.randperm的使用等 一.常见函数或小技巧 1. 记录程 ...

  5. easyexcel导入时读不到数据_java编程中通过easypoi导入excel文件并验证导入数据

    引言 现如今越来越多的web网站或者内部管理web系统都有自己的数据分析中心.其数据中心的数据有些来源于人工单独操作,某些来自人工搜集大量的信息后通过excel文件批量导入进系统.本博客将讲解在jav ...

  6. 如何使用excel批量导入数据到数据库?看这一篇就够了!超详细

    应用场景 当我们遇到要批量新增数据库条数的时候 1.你可以写一个接口去用excel去导入,可以自动化,但是前提是你知道你要新增的表和流程才可以 2.可以用excel直接进行数据库导入 excel导入数 ...

  7. 用java实现从txt文本文件批量导入数据至数据库

    今天同事让我准备一个项目的测试数据,要向一个表中插入上千条记录,并且保证每条记录内容不同,如果用手工一条一条插入肯定是不可能,也不会有哪个SB去做这样的事,我最开始想到了用循环,但要求插入的记录内容不 ...

  8. java使用POI实现Excel批量导入数据。

    1.背景 项目中有使用easypoi,处理常规excel问题,但是现在有个需求,需要动态生成导出的报表字段.同时,根据导入的excel,增加数据信息.(有可能会出现,导入的报表是几天前下载的,不会最新 ...

  9. Spring Boot 实现excel 批量导入数据(模板下载 ->数据导入->导入失败表格下载)

    批量导入数据以用户为例[不贴数据库操作代码,都是简单的插入和查询操作自己写] 1 导入依赖 2 批量导入模板下载 3 批量导入数据 准备工作 实现代码 测试接口 4 下载导入失败表格 5 实体类 6 ...

最新文章

  1. Java语言概述与简单程序
  2. 深圳美景品牌策划机构:美景、BOBDOG传媒合作论坛广州举行
  3. shell 语法格式
  4. CodeForces - 1355E Restorer Distance(三分)
  5. SQLServer数据库获取重复记录中日期最新的记录
  6. Android之moveTaskToBack()方法实现手动隐藏当前Activity
  7. 华为云发力分布式云,折射出云计算哪些定势?
  8. 不要让Javascript的等价表格看上去那么难看
  9. android8.1 audio hal关键结构分析(二十五)
  10. 程序员需要了解依赖冲突的原因以及解决方案
  11. win10家庭版系统安装SQL2005
  12. 【机器学习】线性回归实战案例三:股票数据价格区间预测模型(国外+国内数据)
  13. 驱动人生安装驱动计算机无法启动,驱动人生解决声卡驱动问题 驱动人生针对电脑不出声解决方案...
  14. 南京邮电大计算机科学与技术,计算机科学与技术专业培养目标与毕业要求-南京邮电大学计算机学院.PDF...
  15. 组合模式-完美处理树形递归结构
  16. 图片如何转化为pdf格式?
  17. python内置函数视频_建议你吃透 Python 的 68 个内置函数!(附Python 400集视频教程)...
  18. 标准化作业指导书的作用是什么?如何制作标准化作业指导书?
  19. 计算机操作系统第四版复习+部分课后题+习题
  20. GetLastError()返回值含义

热门文章

  1. CHKDSK命令的语法
  2. 作文总写不好怎么办?猿辅导:家长要注意这几点
  3. ajax.readyState与ajax.status一览
  4. ubuntu笔记本外置显卡开展深度学习(转载)
  5. k8s集群flannel问题之telnet node节点开放端口Connect timeout情况
  6. Deep Reinforcement Learning入门 - DQN/Policy Gradient实现LunarLander-v2
  7. [Mysql] 关于 Innodb 和 NDB 的一些事
  8. 学习笔记——HTTP上网过程详解
  9. 数字资产会成为人类最大的资产
  10. 微信公众号和第三方的平台的对接方法