遵循此示例(对于openpyxl):
from openpyxl.workbook import Workbook
header = [u'Name', u'Email', u'Mobile', u'Current location',]
new_data = [[u'name1', u'email1@yahoo.com', 9929283421.0, u'xxxx'], [u'name2', u'email2@xyz.com', 9994191988.0, u'xxxx']]
wb = Workbook()
dest_filename = 'empty_book.xlsx'
ws1 = wb.active
ws1.title = "range names"
ws1.append(header)
for row in new_data:
ws1.append(row)
wb.save(filename = dest_filename)
我必须将要写入xlsx文件的数据分割到标头和数据本身。
那么,如何从Django中的Models中提取头部和数据?
答案 0 :(得分:1)
好的,我将再试一次。如果你无法清楚地解释你的问题,我无法帮助你。
要在数据库中修改模型的列名,请执行以下操作:
from django.db import models
class MyModel(models.Model):
gender = models.CharField(db_column=u'column_name', max_length=10)
如果您不想更改数据库的列名,请改用verbose_name:
gender = models.CharField(verbose_name=u'column_name', max_length=10)
然后,当您准备输出Excel工作表时:
for f in MyModel._meta.get_fields():
print f.db_column # or f.verbose_name
这是您遍历模型中所有列并获取其名称的方式。
为什么必须将标题名称存储在模型中?为什么不能将它们静态存储在列表中?
如果您的标题跨越多个列,则无法将它们存储在模型中。