2016-03-15 80 views
0

我試圖使用openpyxl引用多個細胞中的功能,如顯示在該代碼:參考多個細胞與openpyxl

from openpyxl.workbook import Workbook 
import os 

wb = Workbook() 
ws = wb.get_active_sheet() 

ws.cell("A1").value = 1 
ws.cell("A2").value = 2 
ws.cell("A3").value = "=SUM(A1;A2)" 

wb.save(os.path.join(os.getcwd(), "test.xlsx")) 

當打開與OpenOffice的,該公式用於小區A3變化輸出文件到=SUM(A1|A2),單元格顯示錯誤。

爲什麼「;」性格改變,我該如何解決這個問題?

+0

SUM(A1; A2)'不合法。也許你想'SUM(A1:A2)'? – SiHa

回答

3

這個:SUM(A1;A2)不是一個有效的Excel公式。

現在,有了一定的語言設置(使用逗號作爲小數點分隔符),分號代替公式中一個逗號的使用,但openpyxl明確does not support this(重點煤礦):

警告

注意您必須使用英文名稱作爲函數,並且函數參數 必須用逗號分隔,而不是其他標點符號,例如 分號

所以我想它是取代非法字符(同樣非法的東西)。如果您將;替換爲:,則應該是OK

+0

「:」運算符選擇兩個單元格之間的所有單元格。用逗號代替分號做我想要的。 – Ulisha