【问题标题】:IronPython Script Help - Export Cross Table to Excel in SPotfireIronPython 脚本帮助 - 在 Spotfire 中将交叉表导出到 Excel
【发布时间】:2016-10-13 14:48:45
【问题描述】:

我是 IronPython 的新手,并尝试使用以下代码将我的交叉表从 Spotfire 导出到 excel。

如何修改此脚本以包括定义 vizTable?

import System
from System.IO import FileStream, FileMode
from Spotfire.Dxp.Application.Visuals import TablePlot
from  Spotfire.Dxp.Data.Export import DataWriterTypeIdentifiers
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import SaveFileDialog  
SaveFile = SaveFileDialog()   #GETS THE FILE PATH FROM THE USER THROUGH A FILEDIALOG
SaveFile.Filter = "xls Format (*.xls)|*.xlsx|*.xls|*.xlsx"
SaveFile.ShowDialog()
saveFilename = SaveFile.FileName
print "saveFilename=", saveFilename
stream = FileStream(saveFilename, FileMode.Create) #Export Table data to the file
vizTable.As[exportWellHeader]().ExportData(DataWriterTypeIdentifiers.ExcelXlsxDataWriter, stream)
stream.Dispose()

我不断收到以下错误。我已经设置了一个脚本参数,但不知道在哪里合并到脚本中。

错误信息:

saveFilename= C:\Users\D565046\Desktop\test 3.xlsx
回溯(最近一次通话最后一次):
文件“Spotfire.Dxp.Application.ScriptSupport”,行未知,在 ExecuteForDebugging
文件“”,第 14 行,在
中 NameError:名称“vizTable”未定义

Microsoft.Scripting.Runtime.UnboundNameException:名称“vizTable”未定义
在 IronPython.Runtime.PythonContext.MissingName(SymbolId 名称)
在 Microsoft.Scripting.Runtime.LanguageContext.LookupName(CodeContext 上下文,SymbolId 名称)
在 $456##456(闭包,范围,语言上下文)
在 Spotfire.Dxp.Application.ScriptSupport.IronPythonScriptEngine.ExecuteForDebugging(String scriptCode, Dictionary`2 scope, Stream outputStream)

【问题讨论】:

    标签: export-to-excel ironpython spotfire


    【解决方案1】:

    我相信这里正在发生两件事。 1) vizTable 应该在脚本下方的“脚本参数”区域中定义,就像您对exportWellHeader 所做的那样,并引用您要导出的可视化(交叉表)。 2) 我相信第 14 行是不正确的,你不应该有 exportWellHeader 这样的东西。我认为它应该更像是: vizTable.As[CrossTablePlot]().ExportText(DataWriterTypeIdentifiers.ExcelXlsxDataWriter, stream)

    来源:http://easyspotfire.blogspot.com/2014/11/export-cross-table-visualization-to-file.html

    请注意,在引用的链接中,脚本作者正在将数据导出到文本文件,而不是 Excel 文件。

    【讨论】:

    • 感谢您的帮助,但是当我更换行时仍然出现以下错误,它仍然给了我以下错误。有什么建议么? SaveFilename= C:\Users\Desktop\rf.xlsx Traceback(最近一次调用最后):文件“Spotfire.Dxp.Application.ScriptSupport”,行未知,在 ExecuteForDebugging 文件“”中,第 14 行,在 NameError:未定义名称“vizTable”Microsoft.Scripting.Runtime.UnboundNameException:名称“vizTable”是
    • 嗨,您是否将“vizTable”作为脚本参数包含在内?该错误似乎表明未定义 vizTable。是否可以使用新的屏幕截图更新您的帖子?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多