我是靠谱客的博主 激情皮卡丘,这篇文章主要介绍Django上传Excel或word读取内容并入库,现在分享给大家,希望可以做个参考。

Excel

#1. model 层
class Monitoring(models.Model):
id = models.AutoField(primary_key=True,verbose_name="talentId")
name = models.CharField(max_length=15, verbose_name="用户名称",null=True)
workUnit = models.CharField(max_length=15, verbose_name="工作单位",null=True)
professional = models.CharField(max_length=15, verbose_name="专业领域",null=True)
storagetime = models.CharField(max_length=15, verbose_name="入库时间", null=True)
class Meta:
managed = True
db_table = 'monitoring'
import xlrd
from django.utils import timezone
class upLoad(View):
def post(self,request):
f = request.FILES.get('file').read()
wb = xlrd.open_workbook(filename=None,file_contents=f)
table = wb.sheets()[0]
row = table.nrows
data_list=[]
for i in range(1,row):
col = table.row_values(i)
datetime1 = timezone.now().strftime("%Y-%m-%d %H:%M:%S")
data_list.append(Monitoring(name=col[0],workUnit=col[1],professional=col[2],storagetime=datetime1))
Monitoring.objects.bulk_create(data_list)
json_data = serializers.serialize('json',data_list)
json_data = json.loads(json_data)
json_data1 = [] # 返回上传的信息
for i in json_data:
json_data1.append(i['fields'])
return JsonResponse({"coed":'200','data':json_data1})

Word

#1. model 层
class wordAddress(models.Model):
word_id = models.AutoField(primary_key=True)
word_path = models.CharField(max_length=500)
#2. view 层
import io
import docx
upload_file = request.FILES['file'].read()
doc = docx.Document(io.BytesIO(upload_file))
print(doc)
# file = docx.Document("F:\ocr\image_json\xxx.docx")
for para in doc.paragraphs:
print(para.text)
wordAddress1 = wordAddress(word_path=para.text)
wordAddress1.save()
return HttpResponse('success')

最后

以上就是激情皮卡丘最近收集整理的关于Django上传Excel或word读取内容并入库的全部内容,更多相关Django上传Excel或word读取内容并入库内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部