如何使用python-xlsxwriter从excel文件中的单元格中删除绿色箭头?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (374)

当我写了一个有百分号的值时,excel会在该单元格的顶部显示一个绿色箭头。

这就是我用来在特定单元格中写入值的方法。

worksheet.write(1, 46, '12%')

我试过这个:

worksheet.write_string(1, 46, '12%')

和这个:

worksheet.write_number(1, 46, '12%')

但我得到了相同的结果。

我怎么能摆脱绿色箭头?

提问于
用户回答回答于

绿色箭头/三角形是Excel警告。这可能是关于以文本形式存储的数字的警告。

避免这种情况的方法是编写没有百分比的数字,然后用数字格式对其进行格式化,以便显示百分号。这就是它通常在Excel中完成的方式。

使用XlsxWriter,你可以按如下方式执行此操作:

import xlsxwriter

# Create a new workbook and add a worksheet.
workbook = xlsxwriter.Workbook('percent.xlsx')
worksheet = workbook.add_worksheet()

# Create a percentage number format.
percent_format = workbook.add_format({'num_format': '0%'})

# Write a number as a percentage.
worksheet.write('A1', .12, percent_format)

workbook.close()
用户回答回答于

一种方法是将单元格写为公式而不是字符串。例如,在Apache POI中,写为

row.createCell(col ++)。setCellFormula(“\”“+ myValue +”\“”);

而不是row.createCell(col ++)。setCellValue(myValue);

我也是这样在VBA脚本中完成的。如果这与你的编程场景不符,那么,基本上如果你进入Excel并输入'123,你会看到你得到一个绿色三角形。但是,如果你输入=“123”,就不会。

当然,你可以关闭错误。文件选项 - 公式 - 数字 - 格式化为文本或以撇号开头。但这是一个Excel设置,而不是工作簿设置。如果你将工作簿发送给其他人,并且他们可以选择,他们将看到那些讨厌的三角形。Formula方式是他们实现一致性的方法。

扫码关注云+社区

领取腾讯云代金券