【发布时间】:2018-02-23 23:23:48
【问题描述】:
我正在尝试使用 openpyxl 阅读 excel 工作表。当我这样阅读时,我认为我丢失了工作表中的条件格式信息:
xl = openpyxl.load_workbook(filename)
当我读取文件中的所有单元格并保存它时。我得到一个电子表格,其中没有实现任何条件格式。
我可以在以下位置找到许多向电子表格添加条件格式的方法 http://openpyxl.readthedocs.org/en/latest/formatting.html
但我找不到在现有工作表中读取条件格式信息的方法。
我用于读写的具体代码是,
import openpyxl as xl
xlf = xl.load_workbook(r'd:\test\book1.xlsx')
sh = xlf.get_sheet_by_name('Sheet1')
allcells = sh.get_cell_collection()
wb = xl.Workbook()
ws = wb.create_sheet()
for c in allcells:
row = c.row
col = xl.cell.column_index_from_string(c.column)
new_cell = ws.cell(row=row, column=col)
new_cell.value = c.value
new_cell.style = c.style.copy()
ws.title = 'test'
wb.save(r'd:\test\book1w.xlsx')
【问题讨论】:
-
你能提供一些你如何阅读和保存的示例代码吗?另外,如果可能的话,您能否提供指向示例 excel 文件的链接?过去存在条件格式的特定属性的问题。您可能遇到了错误,或者您可能正在保存或阅读它,导致它丢失了条件格式。
-
ConditionalFormatting 对于工作簿中的每个工作表都不同。它可能包括也可能不包括对样式的引用,它们本身在别处定义。与 Excel 文件中的许多内容一样,这使得复制变得极其困难。
-
这也是我发现的。 cf_rules 有一个
dfxID,但我不知道dfx规则是在哪里定义的。