2014-02-10 74 views
1

我嘗試使用DataNitro自動執行一些Excel任務,但我無法掌握如何爲與其他人相關的多行編寫新值,如何在Excel中使用DataNitro將值寫入Excel中的多個單元

例如:我想它從第1列讀取值,根據條件,寫在列的響應2.

簡單的例子:

difference = CellRange((2,2),(120,2)).value 
Status = CellRange((2,3),(120,3)).value 

for x in difference: 
    if x < -10: 
     Status = "Paused" 
     ###here i don't know what to put 
    else: 
     Status = "Active" 
     ###here i don't know what to put 

感謝和抱歉,如果這個問題太笨!

回答

0

做到這一點,最好的辦法就是保留一個計數器在循環:

difference = CellRange((2,2),(120,2)).value 
# there's no need to read in the current Status value 

i = 0 
for x in difference: 
    if x < -10: 
     Status = "Paused" 
     Cell((2 + i), 3).value = "Paused" 
    else: 
     Status = "Active" 
     Cell((2 + i), 3).value = "Active" 
    i += 1 

一種更好的方式在Python做到這一點是使用enumerate關鍵字,跟蹤自動計數器:

difference = CellRange((2,2),(120,2)).value 

i = 0 
for i, x in enumerate(difference): 
    if x < -10: 
     Status = "Paused" 
     Cell((2 + i), 3).value = "Paused" 
    else: 
     Status = "Active" 
     Cell((2 + i), 3).value = "Active" 
+0

這是偉大的本,謝謝! 有沒有什麼辦法可以從第一個單元格到最後一個填充單元格設置CellRange? 在:difference = CellRange((2,2),(#last,2))。值 – user3293796

+0

有:您可以使用Cell.vertical獲取一列(和Cell.horizo​​ntal獲取一行)。例如。差=單元(2,2)。垂直 –

相關問題