我完全不确定我所需要的东西是否可以通过我拥有的工具实现,但我想我会问。
我有以下 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/