2016-10-10 83 views
0

IronPythonを初めて使用し、以下のコードを使用してSpotfireからクロステーブルをエクスポートしてExcelにエクスポートしようとしています。IronPython Script Help - 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
Traceback (most recent call last):
File "Spotfire.Dxp.Application.ScriptSupport", line unknown, in ExecuteForDebugging
File "<string>", line 14, in <module>
NameError: name 'vizTable' is not defined

Microsoft.Scripting.Runtime.UnboundNameException: name 'vizTable' is not defined
at IronPython.Runtime.PythonContext.MissingName(SymbolId name)
at Microsoft.Scripting.Runtime.LanguageContext.LookupName(CodeContext context, SymbolId name)
at $456##456(Closure , Scope , LanguageContext)
at Spotfire.Dxp.Application.ScriptSupport.IronPythonScriptEngine.ExecuteForDebugging(String scriptCode, Dictionary`2 scope, Stream outputStream)

enter image description here

答えて

1

私は二つのことがここで起こっていると考えています。 1)と同じように、スクリプトの下にある「スクリプトパラメータ」領域に、vizTableを定義し、エクスポートする視覚化(クロステーブル)を参照する必要があります。 2)私は14行目が間違っていて、exportWellHeaderのようなものはないと信じています。 vizTable.As[CrossTablePlot]().ExportText(DataWriterTypeIdentifiers.ExcelXlsxDataWriter, stream)

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

むしろExcelファイルよりも、参照リンクでは、スクリプト作成者がテキストファイルにデータをエクスポートしていることに注意してください、私はそれがより多くのように読むべきだと思います。

+0

ありがとうございましたが、私はまだ以下のエラーを私に与えた行を置き換えたときに私はまだ下のエラーを取得しています。助言がありますか? SaveFilename = C:デスクトップ\ \ \ユーザーは、(最後の最新の呼び出し) トレースバックをrf.xlsx: で ファイル ""、ライン14をExecuteForDebuggingで ファイル "Spotfire.Dxp.Application.ScriptSupport"、未知のラインを、 NameError:名前 'vizTable'が定義されていません Microsoft.Scripting.Runtime.UnboundNameException:名前 'vizTable'は – gingineer

+0

です。こんにちは、スクリプトパラメータとして 'vizTable'を含めましたか?エラーは、vizTableが定義されていないと思われるようです。あなたの投稿を新しいスクリーンショットで更新することは可能でしょうか? – HalcyonicDays

関連する問題