从Python轻松编写格式化的Excel:以Excel格式开始,在Python中使用,并从Python重新生成Excel

我必须用Python的格式创buildExcel电子表格。 我想通过这样做:

  1. 我从Excel开始,因为格式非常简单:我用Excel格式编写我想要的模型
  2. 我从Python读取这个
  3. 我从Python创build一个相同格式的Excel电子表格

最后,目的是从Python Excel电子表格创build,但使用xlwt格式化需要很多时间,所以我想在Excel中首先格式化来提供帮助。

我已经研究了简单的方法来做到这一点,但没有find任何。 我可以坚持我目前的工作解决scheme,在Python中使用xlwt来创build格式化的Excel,但使用起来相当尴尬。

谢谢你的回复

感谢您的回复。 我发现我正在寻找使用python的xlrd,xlwt和xlutils.copy保留样式 。 代码如下。

import xlrd import xlutils.copy inBook = xlrd.open_workbook('input.xls', formatting_info=True) outBook = xlutils.copy.copy(inBook) def _getOutCell(outSheet, colIndex, rowIndex): """ HACK: Extract the internal xlwt cell representation. """ row = outSheet._Worksheet__rows.get(rowIndex) if not row: return None cell = row._Row__cells.get(colIndex) return cell def setOutCell(outSheet, col, row, value): """ Change cell value without changing formatting. """ # HACK to retain cell style. previousCell = _getOutCell(outSheet, col, row) # END HACK, PART I outSheet.write(row, col, value) # HACK, PART II if previousCell: newCell = _getOutCell(outSheet, col, row) if newCell: newCell.xf_idx = previousCell.xf_idx # END HACK outSheet = outBook.get_sheet(0) setOutCell(outSheet, 5, 5, 'Test') outBook.save('output.xls') 

你说:

使用xlwt格式化需要很多时间

这是非常尴尬的使用

也许你没有使用easyxf ? 如果是这样,请查看可通过www.python-excel.org访问的教程,并查看xlwt安装中的examples/xlwt_easyxf_simple_demo.py