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
Release history Release notifications | RSS feed
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)
Built Distribution
Close
Hashes for dj_easy_xls-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc11317a46465817ccb310253484d87e530797d3cdbede19af561789a63d2ec8 |
|
MD5 | 2bda3f2a4ba06ae2c305303587469812 |
|
BLAKE2b-256 | 7d5ec49e9848458da0af1749d4bd0d3dfd4239456a0bc9eeb542e305fc1365db |