Python Excel模板读写,维护公式和格式

2024-05-29 02:04:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经查过了,似乎找不到我要找的东西。我在这里找到的所有线索最后都成了我的死胡同。xlrd、xlwt和xlutils几乎可以满足我的需要,但是…基本思想是,我需要使用Python将简单数据(字符串)写入Excel模板的特定工作表,并将该模板写入新的.xls文件。

读取模板,将其复制到新的工作簿对象,写入新值,并写出新的.xls文件都没有问题。但是,我找不到同时维护公式和格式的Python Excel模块。

`

our = 'template.xls'

# open up read-only template with formatting maintained
rb = open_workbook(our,formatting_info=True)
r_sheet = rb.sheet_by_index(4)

# copy this to a new workbook object
wb = copy(rb)

# 5th sheet (index = 4) is where we need to drop the data we have
w_sheet = wb.get_sheet(4)

# populate with new data!
for row_index in range(0, r_sheet.nrows):
    w_sheet.write(row_index, 1, "some string that is our data")

# write it!
wb.save('new.xls')

`

在读取模板时,会保留格式(对某些颜色略有更改;meh!),但公式不是,所以“new.xls”在公式曾经存在的地方到处都是空白。

你知道如何维护格式和公式吗?

注意,我已锁定到Python2.7。


Tags: 文件模板newdataindex格式ourtemplate
1条回答
网友
1楼 · 发布于 2024-05-29 02:04:48

您可以使用openpyxl来实现这一点-它只支持xlsx(和相关格式),而不支持xls(旧的Excel格式)。

https://pypi.python.org/pypi/openpyxl/

http://openpyxl.readthedocs.org/en/latest/

https://bitbucket.org/openpyxl/openpyxl/src/2.2/doc/source/index.rst

打开/保存Excel工作表时,此软件包将保留公式。它也保留了格式,但也有一些小问题。但是,原始Excel文件中的图像不会保留。

其他很酷的特性包括对条件格式、图表、迷你图等的支持。

相关问题 更多 >

    热门问题