我尝试过使用openpyxl,但是当我保存文件(http://pastebin.com/VU5LTajH)时它似乎失败了,我找不到任何关于这个问题的信息。
任何其他模块可让您阅读编辑并保存.xlsx文件,同时保留原始文件的样式和格式?
答案 0 :(得分:0)
您可以使用win32com库(我假设您正在使用Windows)并通过COM调度excel应用程序。 在内部,您可以使用VBA中可用的每种方法(因此最好使用Object model reference作为文档)。
以下简化示例我是如何使用它的。
import win32com.client
excel = win32com.client.gencache.EnsureDispatch ("Excel.Application")
excel.Visible = True
workbook = excel.Workbooks.Open(filepath)
if isinstance(worksheetName, str):
worksheet = workbook.Worksheets(worksheetName)
else: #assume that worksheetName is number
sheet = workbook.Worksheets[worksheetName]
def getRange(worksheet, address):
return worksheet.Range(address)
def getValue(range_):
"""Returns values from specified range, as tuple of tuples (even if range
is single row) or single value if range is one cell"""
return range_.Value2
def setValue(range_, values):
range_.Value2 = values
我看到工作簿对象有方法SaveAs
,所以在更改单元格值之后我会用它将它保存为另一个文件,如下所示:
workbook.SaveAs("newFilename")