4

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

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

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

我试过这个:

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

还有这个

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

但我得到相同的结果。

我怎样才能摆脱绿色箭头?

谢谢!

4

2 回答 2

8

绿色箭头/三角形是 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()
于 2013-09-22T19:25:40.643 回答
-2

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

row.createCell(col++).setCellFormula("\"" + myValue + "\"");

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

我也在 VBA 脚本中这样做了。如果这与您的编程场景不匹配,那么基本上如果您进入 Excel 并输入 '123,您会看到一个绿色三角形。但是,如果您输入 =“123”,则不会。这就是您需要复制的行为。

当然,您可以关闭错误。File-Options-Formulas-Numbers-Formatted 为文本或前面有撇号。但这是 Excel 设置,而不是工作簿设置。如果您将工作簿发送给其他人并且他们可以选择,他们会看到那些讨厌的三角形。公式方式是他们追求一致性的方式恕我直言。

于 2013-09-30T00:53:27.043 回答