当我写一个确实有百分号的值时,excel会在该单元格的顶部显示一个绿色箭头。
这是我用来在特定单元格中写入值的方法。
worksheet.write(1, 46, '12%')
我试过这个:
worksheet.write_string(1, 46, '12%')
还有这个
worksheet.write_number(1, 46, '12%')
但我得到相同的结果。
我怎样才能摆脱绿色箭头?
谢谢!
当我写一个确实有百分号的值时,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”,则不会。这就是您需要复制的行为。
当然,您可以关闭错误。File-Options-Formulas-Numbers-Formatted 为文本或前面有撇号。但这是 Excel 设置,而不是工作簿设置。如果您将工作簿发送给其他人并且他们可以选择,他们会看到那些讨厌的三角形。公式方式是他们追求一致性的方式恕我直言。