如何通过 Python 将数据写入 sheet of excel 文件?

How to write a data into an exist sheet of excel file by Python?

我正在寻找一种将一些数据写入 excel 文件的方法。然后我发现xlwt好像可以达到我的要求,但是我只能想办法添加一个新的sheet。 例如:

sheet = workbook.add_sheet('test222')

如果我希望在现有 sheet "test 111" 中输入一个值,有人知道该怎么做吗?

我的示例代码:

import xlwt

def write_report():
    f_value = "500"
    workbook = xlwt.Workbook('D:\Test.xls')
    sheet = workbook.add_sheet('test222')
    sheet.write(5, 3, f_value)

    workbook.save('D:\Test.xls')

非常感谢。





[2018 年 7 月 31 日更新]
我使用import openpyxl的方法后,遇到了一个奇怪的问题。 写入数据后,部分边框消失了
原来的:

我将数据写入文件后:

部分已合并字段的边框被清除。 (项目 A、项目 B、类别 01 和类别 02) 这是 openpyxl 上的已知问题吗?

这是最小的例子:

import openpyxl

wbkName = 'New.xlsx'
wbk = openpyxl.load_workbook(wbkName)
wks = wbk['test1']
someValue = 1337
wks.cell(row=10, column=1).value = someValue
wbk.save(wbkName)
wbk.close

使用工作簿的显式名称保存似乎很重要 - wbk.save(wbkName),因为只有 wbk.save 不能完全完成工作,但不会引发错误。

您可以为此使用 xltpl - python 模块从 xls/x 模板生成 xls/x 文件。

使用您的 excel 文件作为模板。
在单元格中放入变量,例如:{{f_value}}, {%xv someValue%}

from xltpl.writer import BookWriter
writer = BookWriter('template.xls')
payload = {"f_value": "500", "someValue": 1337}
payloads = [payload]
writer.render_book(payloads)
writer.save('result.xls')