首页 > 解决方案 > 如何将 excel 或 csv 文件转换为 django 中的 html 表?

问题描述

我有一个小型应用程序,用户可以在其中提交 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'))

标签: pythondjangoexcelcsv

解决方案


我使用 JSON 编码数据和https://handsontable.com来呈现它。

// 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
});

生成的表可以使用 hot 提供的广泛的类似电子表格的工具,并且如果需要,很容易与 Ajax 交互。


推荐阅读