Найти - Пользователи
Полная версия: Как импортировать excel в django?
Начало » Центр помощи » Как импортировать excel в django?
1 2
kinvainer
Здравствуйте!
Необходимо чтобы была возможность загрузить с сайта excel файл, чтобы затем заполнить базу данных из него.
Подскажите пожалуйста как это можно реализовать.
Уже и xlrd пользовался и import-export и django-excel, в любом случае захожу в тупик и ничего не работает.
Желательно пояснить на реальном примере.
Заранее спасибо!
doza_and
kinvainer
Желательно пояснить на реальном примере.
Подробные реальные примеры есть в документации по этим пакетам. Это вы покажите где вы умудрились в тупик зайти. Приведите пример кода, напишите что вы хотели получить, что получили.

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

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

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

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

Мы заняли позицию - не поддерживаем передачу данных в офисных форматах. И сейчас большинство пользователей и не думает работать в exel. Оказалось что его использование это просто дурная привычка, как ковыряние в носу или погрызание ногтей.
4kpt_IV
doza_and
Сам офигел, но xlrd читает и xlsx
kinvainer
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.
doza_and
4kpt_IV
Сам офигел, но xlrd читает и xlsx
Ого! Обязательно попробую, как только у меня появится хоть один xlsx файл :)

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

P.S. kinvainer
Ссори за оффтоп
4kpt_IV
Т.е. Вам нужно создать excel - файл, я правильно понял?
Rodegast
> В целом суть в том что необходимо делать ежемесячную аттестацию по студентам и естественно все это через excel.

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

С чего ты это взял? Он прекрасно всё поддерживает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB