Spotfire自动导出

时间:2015-05-04 22:00:10

标签: python ironpython 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宏。

1 个答案:

答案 0 :(得分:2)

您可以使用JavaScript在加载时单击按钮,并将该按钮作为您的python脚本。像这样:

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

点击您正在使用的文本框中的“编辑HTML”,您可以看到ID spotfire分配了您的按钮。上面的代码将在加载时点击该按钮一次。

如果您不希望向最终用户显示您的按钮(如果适用),那么您可以将其放在隐藏的div或span中:

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

然后,一旦设置完成,它将根据您的Windows任务调度程序打开时运行您的脚本。

如果您对实施有任何疑问,请与我们联系。