Django中从本地上传excel文件并将数据存储到数据库

一、前端界面

<div class="page-container">
<form action="{% url 'basic:uploadGrade' %}" method="post"
enctype="multipart/form-data">
{% csrf_token %}
<input type="file" style="width: 50%" name="file" id="filename">
<button class="btn btn-primary-outline radius size-S" type="submit">提交</button>
</form>
</div>

二、views中

def uploadGrade(request):
'''
班级信息导入
:param request:
:return:
'''
if request.method == 'POST':
f = request.FILES.get('file')
excel_type = f.name.split('.')[1]
if excel_type in ['xlsx','xls']:
# 开始解析上传的excel表格
wb = xlrd.open_workbook(filename=None,file_contents=f.read())
table = wb.sheets()[0]
rows = table.nrows # 总行数
try:
with transaction.atomic(): # 控制数据库事务交易
for i in range(1,rows):
rowVlaues = table.row_values(i)
major = models.TMajor.objects.filter(majorid=rowVlaues[1]).first()
models.TGrade.objects.create(gradeid=rowVlaues[0],major=major,gradename=rowVlaues[2],memo=rowVlaues[3])
except:
logger.error('解析excel文件或者数据插入错误')
return render(request,'bg/success.html',{'message':'导入成功'})
else:
logger.error('上传文件类型错误!')
return render(request,'bg/failed.html',{'message':'导入失败'})

Django中从本地上传excel文件并将数据存储到数据库的更多相关文章

  1. 【asp.net】asp.net实现上传Excel文件并读取数据

    #前台代码:使用服务端控件实现上传 <form id="form1" runat="server"> <div> <asp:Fil ...

  2. 最近开发的项目,遇到用户上传excel文件并导入数据到系统这个需求,而有excel中有的单元格是日期格式,本文介绍怎么从excel中读取日期格式的数据。

    可以先判断单元格的类型,有的日期是字符串存储的,有的是按日期存储的(单元格按数字解析),代码如下: Cell cell = row.getCell(); Date date = null; if (c ...

  3. 解析excel文件并将数据导入到数据库中

    今天领导给安排了一个临时工作,让我将一个excel里面的数据解析后放入数据库中,经过一个下午的努力成功完成,现在将代码献上,希望对大家有所帮助 一.需要导入的jar 1.commons-collect ...

  4. Django框架(上传Excel文件并读取)

    博主今天整理下Django框架中上传Excel文件并读取 博主是要在管理平台中新增用例的维护功能,想着通过上传Excel文件来展示用例,下面是项目的路径图: 首先先建数据库模型 model.py 可以 ...

  5. asp.net上传Excel文件到服务端进行读取

    1.我们IIS是使用7.5,由于在网站中上传Excel文件到服务端进行数据读取时候出现读取失败情况.一开始以为是没有按照office软件问题,其实不然,因为server是64位操作系统,如果我们要使用 ...

  6. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  7. java上传excel文件及解析

      java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...

  8. umask设置导致的weblogic中的应用上传的文件没有权限打开

    去年,在公司的某一weblogic上部署的web应用上传文件后却没有读的权限.因为weblogic在Linux上部署,上传文件是mount到了一台安装了NFS的Windows Server上. 当时本 ...

  9. js上传Excel文件

    一.问题 需要在项目里添加一个上传excel文件的功能,因为其他同样的后台里面有上传文件的功能,第一反应就是想着直接用.了解了一下发现它是利用bootstrap的fileinput实现的,但是我怎么都 ...

随机推荐

  1. linux 命令——49 at (转)

    在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一 ...

  2. form.elements属性

    form.elements属性与childNodes属性不同的是form.elements只返回的是表单元素组成的数组,包括input,textarea等

  3. PHP:implode(),emplode() 字符串数组,数组字符串转换函数

    1.implode()-Join array elements with a string(把数组元素组合为一个字符串.) string implode([string $separator,] ar ...

  4. ORACLE的raw属性

    网上说RAW类型在网络数据传送的时候可以避免字节的字符集转换,在mssql中使用的GUID类型在oracle中对应的也是raw类型(一般是raw(16)),如果此时使用连接查询将raw类型的字段和va ...

  5. POJ 3280 Cheapest Palindrome(区间dp)

    dp[i][j]表示处理完i到j的花费,如果s[i] == s[j] 则不需要处理,否则处理s[i]或s[j], 对一个字符ch,加上ch或删掉ch对区间转移来说效果是一样的,两者取min. #inc ...

  6. go语言,安装包fetch error 问题解决方案

    最近需要安装grequests,出现了下面的error [fdf@zxmrlc ~]$ go get github.com/levigross/grequests package golang.org ...

  7. hdu-2255 奔小康赚大钱---KM模板

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2255 题目大意: Problem Description 传说在遥远的地方有一个非常富裕的村落,有一 ...

  8. 版本管理工具-SourceSafe

    一.什么是SourceSafe SourceSafe是Micrsoft公司推出的一款支持团队协同开发的配置管理工具,是Visual Studio的套件之一.因为其短小精悍,又继承了微软集成销售的一贯作 ...

  9. js基础之语言部分必须要掌握的五大方阵

    javascript基础部分可以从"数组, 函数, 作用域, 对象, 标准库"这5大方阵进行学习: (一).数组 数组的声明(2种):; a,自变量声明 var a = ['a', ...

  10. 64位系统InlineHook

    APIHook64Class.h #ifndef APIHOOK64CLASS_H_ #define APIHOOK64CLASS_H_ #include <Windows.h> clas ...