django 업로드 excel표 읽기 데이터 데이터베이스에 저장

1691 단어 DjangoRESTframework
페이지 코드



    
    Title


    

백엔드 코드, URL은 쓰지 않습니다.주요시django 코드.트랜잭션을 추가합니다.관련 키가 있으면 먼저 키 데이터를 꺼내 데이터베이스에 기록한다.
def excel_upload(request):
    '''
    :param request:
    :return:     excel   ,     
    '''
    if request.method == "POST":

        f = request.FILES['my_file']
        type_excel = f.name.split('.')[1]
        if 'xlsx' == type_excel:
            #        excel  
            wb = xlrd.open_workbook(filename=None, file_contents=f.read())  #        
            table = wb.sheets()[0]
            nrows = table.nrows  #   
            # ncole = table.ncols  #   
            try:
                with transaction.atomic():
                    for i in range(1, nrows):
                        # if 4 == i:
                        #     i/0
                        rowValues = table.row_values(i)  #      
                        good = models.GoodsManage.objects.get(international_code=rowValues[0])
                        models.SupplierGoodsManage.objects.create(goods=good, sale_price=rowValues[1],sale_min_count = rowValues[2])
            except Exception as e:
                return JsonResponse({'msg':'    ....'})

            return JsonResponse({'msg':'ok'})

        return JsonResponse({'msg':'        xlsx'})

    return JsonResponse({'msg':'  post  '})

좋은 웹페이지 즐겨찾기