python - Spotfire 自动导出

标签 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 文件,然后才能得到到我的办公 table 。 (该项目从无法通过 MS Access 访问的数据库中提取数据。)

虽然脚本运行良好,但我必须手动按下按钮才能激活它。我似乎找不到任何方法让脚本在文件打开时运行(以便我可以使用 Windows 任务计划程序)使其在文件打开时运行。

有人知道是否有办法做到这一点吗?

请记住,我没有可用的 Visual Studio。我已经尝试过 Visual Studio Express,但它似乎无法访问 Spotfire SDK 宏。

最佳答案

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

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

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

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

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

然后,一旦设置完毕,它应该在根据您的 Windows 任务计划程序打开时运行您的脚本。

如果您对实现有任何疑问,请告诉我。

关于python - Spotfire 自动导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30040727/

相关文章:

python - 在直方图中孵化多个数据系列

python - 内部服务器错误和禁止访问

ironpython - Unresolved 导入 PyDev/IronPython

Spotfire:创建按钮开始加载数据,而不是使用按需加载数据

ironpython - Spotfire IronPython 脚本 : get Cross Table data

python json对象数组不可序列化

python - 如何恢复主窗口?

ironpython - 如何从 python 访问计算值?

.net - 将ironpython应用程序打包成.exe和安装程序

ironpython - Spotfire 中的金字塔创建