Python:如何打开多表.xslx文件(带格式)并编辑几个单元格并将其另存为另一个.xlsx文件

时间:2015-08-05 12:40:56

标签: python excel

我尝试过使用openpyxl,但是当我保存文件(http://pastebin.com/VU5LTajH)时它似乎失败了,我找不到任何关于这个问题的信息。

任何其他模块可让您阅读编辑并保存.xlsx文件,同时保留原始文件的样式和格式?

1 个答案:

答案 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")