2015-05-04 51 views
1

我完全不確定我需要的工具是否可以使用我擁有的工具,但我想我會問。Spotfire自動導出

我有以下的Python腳本(技術上IronPython的,但我不完全理解上的差異),我從一個博客拉和修改,我的目的:

import datetime 
from System.IO import StreamWriter 
from Spotfire.Dxp.Application.Visuals import TablePlot 

tempFolder = "C:\\Spotfire Exports\\" 
tempFilename = "Data.txt" 

writer = StreamWriter(tempFolder + tempFilename) 
vTable.As[TablePlot]().ExportText(writer) 

print tempFolder + tempFilename 

腳本本身工作完全正常,但問題是我需要能夠在一天中的某個特定時間自動運行,也就是說,我需要在我到達辦公桌前的早晨更新* .txt文件。 (該項目從不是通過MS Access來訪問數據庫拉。)

雖然腳本運行正常,我必須手動按下按鈕來激活它。我似乎無法找到任何讓腳本在文件打開時運行的方式(以便我可以使用Windows任務計劃程序)在打開文件時使其運行。

有誰知道是否有辦法做到這一點?

請記住,我沒有的Visual Studio提供給我。我已經嘗試過Visual Studio Express,它似乎無法訪問Spotfire SDK宏。

回答

2

您可以使用JavaScript來點擊負載按鈕,並有一個按鈕是你的Python腳本。像這樣:

window.onload = function callButtonClickEvent(){ 
      document.getElementById('YOUR_SPOTFIRE_CONTROL_ID').click(); 
} 

通過在您使用的文本框中單擊「編輯HTML」,您可以看到ID spotfire已分配了您的按鈕。上面的代碼將在加載時單擊該按鈕一次。

如果您不希望您的按鈕顯示給最終用戶(如適用),那麼你可以把它放在一個隱藏的股利或跨度內:

<span style='display:none'><SpotfireControl id="YOUR_SPOTFIRE_CONTROL_ID" /></span> 

然後,一旦這個設置應該運行腳本當您按照您的需要打開Windows任務計劃程序時。

如果您對實施有任何疑問,請告知我。

+0

嗯,我沒有與任何支持JavaScript的經驗,我似乎無法在網上找到任何簡單的解釋爲把實施中的JavaScript是Spotfire頁。 到目前爲止,我可以在HTML編輯頁面中單擊添加JS按鈕並複製粘貼javascript(將控件ID文本替換爲數字),但我不知道該從哪裏去。 – Andrew

+0

從那裏,爲了測試它的工作情況,您可以保存並關閉Spotfire分析,重新打開它,並檢查文件是否已創建(也就是說腳本無需按下按鈕即可成功執行)。 在我的例子中,我在本地機器上進行了設置,我將它的全局屬性「顯示」更改爲「之前」的起始值「之前」。在開啓我的Spotfire後,我發現它被設置爲「之後」,儘管在我保存並關閉時被設置爲「之前」。 後,可以向自動化工作與任務調度: https://docs.tibco.com/products/tibco-spotfire-automation-services-7-0-0 – clesiemo3

+0

偉大的作品!謝謝! – Andrew