excel模板配置化导出模块
Project description
SKY-EXCEL Module
excel工具模块
Part 1. Introduce
介绍
如果你不希望每一次需要把接口返回的字典数据导出成excel表格而去设计表头、合并单元格,而进行一次一次重复大量的编程活动。那么你可以尝试一下这个模块。sky-excel把表头设计与单元格设计耦合到一起,你只需要创建一个excel模板即可,然后进行配置对应输入的字段就可以实现,把接口的数据导出单元格。
这个模块仅仅做了一件事情,就是把你写好的表头版本抄写一般,把字典数据按照键值对匹配填充进去即可。
Part 2. API Document
API 接口文档
v1版本API:
export_instance = ExcelExport(
input_dict=global_export_data,
excel_templet_path="./templet/templet.xlsx",
save_path="D:\\PySet/sky-excel/templet/"
)
参数介绍:
input_dict:输入的字典数据,格式是[{..},{..}......]
excel_templet_path:保存模板的路径,确保程序可以找到你的模板excel文件
excel_templet_title:当前仅仅可以导出一个sheet,不可以实现批量的导出。所以需要指定,默认值Sheet1
save_path:保存的文件路径,不传则返回文件流直接返回前端提供下载,注意返回时候需要修改响应头协议
导出方法:
data, err = export_instance.export()
data:返回文件地址,或者文件流。前提是没有异常的情况下,否则返回空。
err:返回的是异常提示
v2版本API介绍:
ExcelExport(excel_templet_path="./templet/templet.xls")
参数介绍:
excel_templet_path: 模板的路径,可用则追加读写方式,不可用只写模式
方法:
1.追加读写:
export_instance.additional_write(input_dict=global_export_data)
参数介绍:
:param input_dict: [{..},{..}..]
:param excel_templet_title: 操作的sheet,需要与parse_max_row保持一致
:return: data,err
2.保存excel,当没有save_path的时候返回流,存在则返回流:
export_instance.save(
workbook=export_instance.additional_write_wb,
save_path="D:\\PySet/sky-excel/sky_excel/export/"
)
参数介绍:
:param workbook: 操作的Workbook对象
:param save_path: 保存路径
:return: data,err; data: None或者文件流
Django 返回流提供下载
templet_path = ROOT_DIR + "/excel_templates/templet.xlsx"
exporter = ExcelExport(input_dict=global_export_data, excel_templet_path=templet_path)
data, err = exporter.export()
if err:
return JsonResponse({"err": 1000, "msg": err})
response = HttpResponse(
content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
)
response['Content-Disposition'] = 'attachment;filename=export_overview.xlsx'
response.write(data)
return response
Part 3. 版本更新
1.0.5
1.支持python2.7与python3.0以上版本
2.增加边界判断
3.直接拷贝模板,避免了表头样式问题。
4.支持文字+表达式
5.使用规则,最后一行表示表达式行,所以模板应该清除掉多余不需要的单元格内容。
1.0.6
1.解决openpyxl数据量大,导出数据慢的问题添加v2版本API,使用xlwt+xlrd+xlutils实现,写入效率有所提高。
2.原有1.0.5所有API放在v1里面
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sky_excel-1.0.7.tar.gz.
File metadata
- Download URL: sky_excel-1.0.7.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e72385e042024b6fd653704e5ee84461f55eddd9b06f4ea818a46069296a5221
|
|
| MD5 |
4e7cadee984dc0a63fb704a440e512a1
|
|
| BLAKE2b-256 |
9370af99fd46b333df307fdb0d39f03e9f63227422b65ff3bdc02da5c9ca0f55
|
File details
Details for the file sky_excel-1.0.7-py3-none-any.whl.
File metadata
- Download URL: sky_excel-1.0.7-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60610af792de71d6ad6388ad16aacc28a70a8bbec187ba405d768217631cd99e
|
|
| MD5 |
f1fce35aca1f3aae74701382cebbed42
|
|
| BLAKE2b-256 |
5abe5acb2d3f64c647ee2d358d26ae9523578b15590085d0b81fb613bc0a7bcb
|