Dmi*_*kov 5 python excel openpyxl
在 Excel 中,单引号前缀用于指定该值是文本,不应转换为任何其他类型。通常,查看工作簿时不会显示单引号(但编辑单元格内容时会显示单引号)。
是否可以使用 openpyxl 将这样的值放入单元格中?我没有找到办法做到这一点。
这是示例代码
import openpyxl
import os
wb = openpyxl.Workbook()
sheet = wb.get_active_sheet()
sheet.cell("A1", value="'value")
sheet.cell("B1").value = "'value"
sheet.cell("C1").set_explicit_value("'value", 's')
outpath = r"d:\dmishin\temp\wb.xlsx" #put your path here
wb.save(outpath)
os.startfile(outpath)
Run Code Online (Sandbox Code Playgroud)
此代码创建一个包含 3 个单元格的工作表,并为它们添加“值”。我希望在查看时看到没有前导引号的文本,但我看到的是:
手动编辑创建此内容(请注意,编辑时仍显示引用)
手动比较 XLSX 文件内容后,我的印象是有关报价的信息存储在单元格样式标记的 quotePrefix 属性中。
在 openpyxl 源代码中,CellStyle 类具有相应的布尔字段 quotePrefix。但是,我认为没有办法手动设置该字段。是否可以?
小智 1
您不允许更改quotePrefix单元格上的属性,但如果您确实需要quotePrefix设置为,您可以更新具有 style_array 的True单元格属性( https://openpyxl.readthedocs.io/en/stable/api/openpyxl .styles.cell_style.html#openpyxl.styles.cell_style.StyleArray),以便第 8 个值(应对应于 quotePrefix)为 1。_stylearray('i', [0, 0, 0, 0, 0, 0, 0, 0, 0])
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |