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

我必须使用Python的格式创建Excel电子表格.我想通过以下方式做到:

>我从Excel开始,因为它很容易格式化:我在Excel中写道
我想要的模型,格式好
>我从Python读到这个
>我用Python创建了一个格式相同的Excel电子表格

最后,目的是从Python Excel电子表格创建,但使用xlwt进行格式化需要花费大量时间,因此我首先考虑在Excel中进行格式化以提供帮助.

我已经研究了这样做的简单方法,但没有发现任何.我可以坚持使用我目前的工作解决方案,在Python中使用xlwt来创建格式化的Excel,但使用起来非常尴尬.

谢谢你的回复

解决方法:

谢谢你的回复.我在Preserving styles using python’s xlrd,xlwt, and 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') 
上一篇:python xlwt xlrd的坑


下一篇:python-XLWT和XLRD面临的问题-同时读写