【发布时间】:2020-02-27 19:18:15
【问题描述】:
我正在尝试将 Spotfire 可视化导出到 xlsx 文件。为了导出数据,我需要能够将可视化的数据写入临时文件。 IronPython(2.7.7) 脚本在作为 Spotfire 桌面应用程序运行时有效,因为它使用本地计算机的临时文件位置。但是,它在 Web 上不起作用,因为该脚本无权写入 Path.GetTempFileName() 返回的服务器临时文件位置。
如何通过脚本安全地写入临时文件以在网络中使用?
脚本:
from System.IO import Path, File, StreamWriter
from Spotfire.Dxp.Application.Visuals import TablePlot
tf = Path.GetTempFileName()
writer = StreamWriter(tf)
# visTable is a script parameter pointing to a TablePlot
visTable.As[TablePlot]().ExportText(writer)
在网页中运行时出错:
Could not perform action 'write_to_file'.
Could not execute script 'write_to_file': The directory name is invalid.
at Spotfire.Dxp.Application.Scripting.ScriptService.Execute(ScriptDefinition script, Dictionary`2 scope, InternalLibraryManager internalLibraryManager, NotificationService notificationService)
at Spotfire.Dxp.Application.Scripting.ScriptManager.<>c__DisplayClass8_0.<ExecuteScript>b__0()
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight)
at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor)
at Spotfire.Dxp.Application.Scripting.ManagedScript.Execute(Dictionary`2 environment)
at Spotfire.Dxp.Application.HtmlTextAreaControls.ActionControl.ModifyCore(Object value)
at Spotfire.Dxp.Application.Visuals.HtmlTextArea.InteractWithControl(String id, Action`1 interaction)
IronPython 版本:2.7.7
Spotfire 版本:10.3.2.8
编辑:内置的右键单击导出功能不是一个选项,因为最终目标是注入我公司的合规信息。
【问题讨论】:
标签: ironpython spotfire