我正在尝试将 Spotfire 可视化导出到 xlsx 文件。为了导出数据,我需要能够将可视化的数据写入临时文件。IronPython(2.7.7) 脚本在作为 Spotfire 桌面应用程序运行时工作,因为它使用本地计算机的临时文件位置。但是,它在 Web 上不起作用,因为该脚本无权写入由Path.GetTempFileName()
.
如何通过脚本安全地写入临时文件以在 Web 中使用?
脚本:
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
编辑:内置的右键单击导出功能不是一个选项,因为最终目标是注入我公司的合规信息。