您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

37 行
862 B

  1. from __future__ import unicode_literals
  2. import frappe, xlwt, StringIO, datetime
  3. from frappe import _
  4. def get_xls(columns, data):
  5. '''Convert data to xls'''
  6. stream = StringIO.StringIO()
  7. workbook = xlwt.Workbook()
  8. sheet = workbook.add_sheet(_("Sheet 1"))
  9. # formats
  10. dateformat = xlwt.easyxf(num_format_str=
  11. (frappe.defaults.get_global_default("date_format") or "yyyy-mm-dd"))
  12. bold = xlwt.easyxf('font: bold 1')
  13. # header
  14. for i, col in enumerate(columns):
  15. sheet.write(0, i, col.label, bold)
  16. for i, row in enumerate(data):
  17. for j, df in enumerate(columns):
  18. f = None
  19. val = row[columns[j].fieldname]
  20. if isinstance(val, (datetime.datetime, datetime.date)):
  21. f = dateformat
  22. if f:
  23. sheet.write(i+1, j, val, f)
  24. else:
  25. sheet.write(i+1, j, frappe.format(val, df, row))
  26. workbook.save(stream)
  27. stream.seek(0)
  28. return stream.read()