Skip to main content

Easy package with helpful method to use openpyxl

Project description

Dj easy xls

Helpful class and methods to import and export xls with django framework.

Usage

Import from xls

We call method get_sheet_rows which converts the table into dict with column as keys.

excel = OpenpyxlImport(file)
rows = excel.get_sheet_rows()
if excel.tally_header(rows[0], self.fields):
    for row in rows[1:]:
        params = excel.row_to_dict(row)
        print(params)

Export from xls

Simple example to export django model queryset into csv file.

file_name = self.file_name + ' ' + datetime.datetime.today().strftime('%Y-%m-%d') or 'Untitled'
export = OpenpyxlExport(file_name)
export.generate(self.fields, True)
for object in self.queryset:
    values = [change_format(object, val) for val in self.fields]
    export.generate(values)
export.set_width() # sets proper width of each columns

Return xlsx file as a response

Once we generate the xls in an export instance we can return response as

return export.response()

Return xlsx file as a response

Saving xlsx in a directory path.

return export.wb.save("<path>/test.xlsx")

Saving response from django as a file with axios

Django http response can be saved as a file from an axios request

const url = '/download'
const config = {
  baseURL: process.env.BaseURL,
  responseType: "blob", // Very important!
};
try {
  const response = await axios.get(url, config);
  const url = window.URL.createObjectURL(new Blob([response.data]));
  const link = document.createElement("a");
  link.href = url;
  link.setAttribute("download", "file.xlsx"); //or any other extension
  document.body.appendChild(link);
  link.click();
} catch (error) {
  console.log(error);
}

Install from Pypi test

pip install -i https://test.pypi.org/simple/ dj-easy-xls

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dj-easy-xls-0.2.3.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

dj_easy_xls-0.2.3-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page