繁体   English   中英

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

[英]How can I remove the green arrow from a cell on excel file using python-xlsxwriter?

当我写一个有百分号的值时,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方式是他们实现一致性的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM