如何使用 editpyxl 将数据添加到现有的 xlsm 文件中?
How to add data into an existing xlsm file using editpyxl?
我正在尝试将数据添加到现有 xlsm 文件中的一个单元格,然后使用 editpyxl 将其另存为新的 xlsm 文件,但收到一条错误消息,指出该单元格不存在(IndexError:TestSheet1 上的单元格 A1 不存在存在)。 editpyxl 站点上没有太多文档,但提供的一个代码示例显示了如何编辑工作簿。这是我所拥有的(与网站示例基本相同):
from editpyxl import Workbook
wb = Workbook()
wb.open('C:/Test/original.xlsm')
ws = wb['TestSheet1']
print(wb.sheetnames)
ws.cell('A1').value = 'abc123'
wb.save('C:/Test/newfile.xlsm')
这是完整的错误:
Excel file does not contain xl/sharedStrings.xml
['TestSheet1', 'TestSheet2', 'TestSheet3']
Traceback (most recent call last):
File "C:\Test\editxlsm-ep.py", line 7, in <module>
ws.cell('A1').value = 'abc123'
File "C:\Users\xxxxxx\AppData\Local\Programs\Python\Python38\lib\site-
packages\editpyxl\worksheet.py", line 64, in cell
raise IndexError('Cell {0} on {1} does not exist'.format(coordinate, self.name))
IndexError: Cell A1 on TestSheet1 does not exist
我已经用 xlsx 文件尝试过,只是想看看 xlsm 是否可能是问题所在,但收到了相同的错误消息。我还添加了打印行,以确保它可以正确加载文件。看起来确实如此,因为在错误发生之前打印了三个 sheet 名称。我已经搜索了有关 editpyxl 库的更多帮助,但找不到太多。我使用的版本:Excel - 2016,editpyxl - 0.1.9,python - 3.8.1。谢谢
所以我能够弄清楚为什么 editpyxl 给出单元格不存在的错误。只要单元格不包含任何数据,我就会收到错误消息。一旦我将一些其他数据添加到 'A1' 中(我刚刚添加了一个 'x'),然后它运行时没有错误并且 'x' 被替换为我想要的值。我所有的宏和命令按钮在新的 xlsm 文件中也保持不变。
我正在尝试将数据添加到现有 xlsm 文件中的一个单元格,然后使用 editpyxl 将其另存为新的 xlsm 文件,但收到一条错误消息,指出该单元格不存在(IndexError:TestSheet1 上的单元格 A1 不存在存在)。 editpyxl 站点上没有太多文档,但提供的一个代码示例显示了如何编辑工作簿。这是我所拥有的(与网站示例基本相同):
from editpyxl import Workbook
wb = Workbook()
wb.open('C:/Test/original.xlsm')
ws = wb['TestSheet1']
print(wb.sheetnames)
ws.cell('A1').value = 'abc123'
wb.save('C:/Test/newfile.xlsm')
这是完整的错误:
Excel file does not contain xl/sharedStrings.xml
['TestSheet1', 'TestSheet2', 'TestSheet3']
Traceback (most recent call last):
File "C:\Test\editxlsm-ep.py", line 7, in <module>
ws.cell('A1').value = 'abc123'
File "C:\Users\xxxxxx\AppData\Local\Programs\Python\Python38\lib\site-
packages\editpyxl\worksheet.py", line 64, in cell
raise IndexError('Cell {0} on {1} does not exist'.format(coordinate, self.name))
IndexError: Cell A1 on TestSheet1 does not exist
我已经用 xlsx 文件尝试过,只是想看看 xlsm 是否可能是问题所在,但收到了相同的错误消息。我还添加了打印行,以确保它可以正确加载文件。看起来确实如此,因为在错误发生之前打印了三个 sheet 名称。我已经搜索了有关 editpyxl 库的更多帮助,但找不到太多。我使用的版本:Excel - 2016,editpyxl - 0.1.9,python - 3.8.1。谢谢
所以我能够弄清楚为什么 editpyxl 给出单元格不存在的错误。只要单元格不包含任何数据,我就会收到错误消息。一旦我将一些其他数据添加到 'A1' 中(我刚刚添加了一个 'x'),然后它运行时没有错误并且 'x' 被替换为我想要的值。我所有的宏和命令按钮在新的 xlsm 文件中也保持不变。