Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 30, 2016 01:01:39

kinvainer
Зарегистрирован: 2016-12-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

Здравствуйте!
Необходимо чтобы была возможность загрузить с сайта excel файл, чтобы затем заполнить базу данных из него.
Подскажите пожалуйста как это можно реализовать.
Уже и xlrd пользовался и import-export и django-excel, в любом случае захожу в тупик и ничего не работает.
Желательно пояснить на реальном примере.
Заранее спасибо!

Офлайн

#2 Дек. 30, 2016 07:17:23

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

kinvainer
Желательно пояснить на реальном примере.
Подробные реальные примеры есть в документации по этим пакетам. Это вы покажите где вы умудрились в тупик зайти. Приведите пример кода, напишите что вы хотели получить, что получили.

:):):):):):):):):):):):):):):):):):)
Можно я как злостный не любитель word слегка наеду на exel.

У Microsoft была политика изменять форматы файлов никого не предупреждая и не описывая используемый формат данных. Политика очень полезная если хочется подстегнуть пользователя к покупке новых продуктов. В настоящий момент вы можете получить xls или xslx файл. Насколько я понимаю xlrd может читать только один из них. Не исключу что завтра выйдет xlsy а послезавтра xlsz.

Поэтому смею предложить решение кардинально упрощающее вашу задачу. Не делайте импорт из exel. На вопли пользователей отвечайте что следуете указанию президента России об импортозамещении. :) Хотят загружать данные пусть грузят текстовые таблицы. Жесткая позиция сообщества в том числе и ваша, резко снизит количество любителей word и при этом и ваших прблем.

У меня был случай - надо было получить картинку. Мне шлют метафайл, на отказ принять говорят ну какже, все их используют. В результате разбирательств оказалось что среди тучи вордов и граф редакторов не нашлось ни одного который точно воспроизводит оригинальную картинку.

Мы заняли позицию - не поддерживаем передачу данных в офисных форматах. И сейчас большинство пользователей и не думает работать в exel. Оказалось что его использование это просто дурная привычка, как ковыряние в носу или погрызание ногтей.



Офлайн

#3 Дек. 30, 2016 07:26:26

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

doza_and
Сам офигел, но xlrd читает и xlsx

Офлайн

#4 Дек. 30, 2016 10:13:48

kinvainer
Зарегистрирован: 2016-12-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

doza_and

def upload_file(request):
if request.method == ‘POST’:
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
w = form.sheet_by_index(0)
s = CadetsSubject(cadet = Cadets.objects.get(id=1), subject = Subject.objects.get(id=1), month = Month.objects.get(id=1),mark = w.cell(1,1).value)
s.save()
handle_uploaded_file(request.FILES)

return HttpResponseRedirect('/table/')

Вот фрагмент кода из views.py.
Как я понял он даже не проходит условие с is_valid, ни ошибок, ничего.
В целом суть в том что необходимо делать ежемесячную аттестацию по студентам и естественно все это через excel.

Офлайн

#5 Дек. 30, 2016 10:15:57

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

4kpt_IV
Сам офигел, но xlrd читает и xlsx
Ого! Обязательно попробую, как только у меня появится хоть один xlsx файл :)

С наступающим новым годом!



Офлайн

#6 Дек. 30, 2016 10:21:50

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

doza_and
Тебя так же дружище. Интересных встреч, задач и много-много неиссякаемых финансовых потоков

P.S. kinvainer
Ссори за оффтоп

Офлайн

#7 Дек. 30, 2016 10:22:41

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

Т.е. Вам нужно создать excel - файл, я правильно понял?

Офлайн

#8 Дек. 30, 2016 10:56:26

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2701
Репутация: +  182  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

> В целом суть в том что необходимо делать ежемесячную аттестацию по студентам и естественно все это через excel.

excel умеет сохранять таблицы в CSV, его и используй.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#9 Дек. 30, 2016 13:24:10

kinvainer
Зарегистрирован: 2016-12-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

Rodegast
СSV так себе вариант - не поддерживает русскую кириллицу.
4kpt_IV
Есть готовый файл: в первом столбце фамилии, в первой строке учебные предметы, а перекрестие это оценка.
Вот и нужно чтобы пользователь мог загрузить этот файл, а django уже считал в базу данных.

Офлайн

#10 Дек. 30, 2016 14:19:58

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2701
Репутация: +  182  -
Профиль   Отправить e-mail  

Как импортировать excel в django?

> не поддерживает русскую кириллицу

С чего ты это взял? Он прекрасно всё поддерживает.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version