使用 openpyxl 是否可以保留打印区域?
Using openpyxl is it possible to preserve the print area?
我使用以下方法将 pandas 数据帧写入预格式化的 excel 模板,然后用不同的名称保存:
def writer(self):
'''
Calls the excel writer function to create an object for writing out the
report to excel. It loads an excel template, populates it and then
saves the file. '''
book = load_workbook(os.path.join(self.env.REPORT_TEMPLATE_PATH
, self.env.REPORT_TEMPLATE))
writer = pd.ExcelWriter(self.filename()
, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
return writer
命名范围用于避免断开链接。
我遇到的问题是 运行 输出的代码:
\Continuum\Anaconda3\lib\sitepackages\openpyxl\workbook\names\named_range.py:124: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
就结果而言,一切似乎都很好,但打印区域已重置。
有没有办法在新文件中保留模板中的打印区域?
有没有办法查看丢弃的内容?
这将在 openpyxl 2.4 后成为可能。在此发布之前,您必须手动重新创建打印设置。
我使用以下方法将 pandas 数据帧写入预格式化的 excel 模板,然后用不同的名称保存:
def writer(self):
'''
Calls the excel writer function to create an object for writing out the
report to excel. It loads an excel template, populates it and then
saves the file. '''
book = load_workbook(os.path.join(self.env.REPORT_TEMPLATE_PATH
, self.env.REPORT_TEMPLATE))
writer = pd.ExcelWriter(self.filename()
, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
return writer
命名范围用于避免断开链接。
我遇到的问题是 运行 输出的代码:
\Continuum\Anaconda3\lib\sitepackages\openpyxl\workbook\names\named_range.py:124: UserWarning: Discarded range with reserved name
warnings.warn("Discarded range with reserved name")
就结果而言,一切似乎都很好,但打印区域已重置。
有没有办法在新文件中保留模板中的打印区域?
有没有办法查看丢弃的内容?
这将在 openpyxl 2.4 后成为可能。在此发布之前,您必须手动重新创建打印设置。