Как преобразовать Excel или CSV-файл в HTML-таблицу в Django? - PullRequest
0 голосов
/ 20 мая 2018

У меня есть небольшое приложение, в котором пользователь может отправить файл Excel или CSV, и я хочу отобразить данные в этом файле для пользователя в шаблоне.Как я могу это сделать?

Я знаю о библиотеках, таких как openpyxl и xlrd, они обе являются библиотеками python и могут циклически перемещаться по файлу и отображать значения, но затем передача этих значений в шаблон выглядит слишкоммного работы (если это единственный способ сделать это, я собираюсь сделать это).

Есть ли другой способ?Это то, что я до сих пор:

def home(request):
    if request.method == 'POST':
        uploaded_file = request.FILES['my_excel']
        # What should I do here?

    return (render(request, 'demo/index.html'))

1 Ответ

0 голосов
/ 20 мая 2018

Я использую данные в кодировке JSON и https://handsontable.com для их рендеринга.

  • необходимо экранировать данные JSON, но для моего случая использования это, как правило, более компактный HTML:Библиотеки, о которых вы упоминаете, могут читать.
  • документация для рукописного ввода очень хорошая и легко начать работу https://docs.handsontable.com/pro/3.0.0/tutorial-quick-start.html:
// Django part.
let food = {{ data|escapejs }};
// Handsontable example
let data = [
    ["", "Ford", "Tesla", "Toyota", "Honda"],
    ["2017", 10, 11, 12, 13],
    ["2018", 20, 11, 14, 13],
    ["2019", 30, 15, 12, 13]
];
let container = document.getElementById('example');
let hot = new Handsontable(container, {
    data: data,
    rowHeaders: true,
    colHeaders: true,
    filters: true,
    dropdownMenu: true
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...