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

时间:2013-09-22 00:57:57

标签: python excel xlsxwriter

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

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

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

我试过了:

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

和这个

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

但我得到的结果相同。

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

谢谢!

2 个答案:

答案 0 :(得分:7)

绿色箭头/三角形是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()

答案 1 :(得分:-2)

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

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

而不是                             row.createCell(COL ++)setCellValue(myvalue的);

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

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