親愛なるみんな、
C#のJMP自動化プログラムを作成中に困ったのですが、
CSV ファイルを開くと、最初の行をヘッダーにするコマンドが見つかりません。
これまでのコードは次のとおりです。何かアイデアや助けをください...
JMP.Document doc、doc2;
JMP.TextImport ti;
JMP.DataTable jmpDT、jmpRT;
startJMP();
doc = myJMP.OpenDocument(jmpInstallDir + "Samples\\Data\\1111.CSV");
jmpDT = doc.GetDataTable();
myJMP.Visible = true;
jmpDT.SelectRows(0, 49);
jmpDT.SelectRows(51, 53);
jmpDT.DeleteSelectedRows();
jmpDT.SelectRows(1, 1);
JMP Automation Reference を読んで、Text Import を調べることをお勧めします。 以下は、Text Import の VB 自動化の例の抜粋と一部です。
私は JSL の方が使いやすいと思うので、C スクリプト内で JSL を実行する方法を調べてみてください。
ColumnNamesStart(整数としての開始行)
列ヘッダーの開始行を指定します。 これは、ファイルに列ヘッダーがあることを意味するため、
ここで正の値を指定すると、FirstLineIsData(False) を呼び出す必要がなくなります。 を含む行
列名は、データの最初の行の前に来る必要があります。
DataStarts (整数としての開始行)
行データの開始行を指定します。 指定された数が 1 の場合は、
列ヘッダーはありません。 この特定のケースでは、FirstLineIsData(True) への呼び出しは必要ありません。
FirstLineIsData(ブール値としてフラグ)
テキスト ファイルの最初の行をデータとして解釈するか、列ヘッダーとして解釈するかを示します。 真実
はデータを意味し、False はヘッダーを意味します。
ドキュメントとしての OpenFile()
上記のメソッドで指定されたオプションを使用して、テキスト ファイルを開きます。 ドキュメント オブジェクト
ポインタが返されます。 基になるデータ テーブルへのオブジェクト ポインターを取得するには、GetDataTable
ドキュメント オブジェクトのメソッド。
Private Sub TestEOF_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles TestEOF.Click
TI1 = MyJMP.CreateTextImportObject(InstallDir & "\Samples\Import Data\EOF_space.TXT", 5)
' Set columns 1 and 3 as having type "Character"
' The default is "Numeric"
TI1.SetColumnType(1, JMP.colDataTypeConstants.dtTypeCharacter)
TI1.SetColumnType(3, JMP.colDataTypeConstants.dtTypeCharacter)
'Set space as the only end-of-field option
TI1.SetEndOfFieldOptions(JMP.jmpTIEndOfFieldConstants.tiSpace)
'Set carriage return line feed as the end-of-line delimeter
TI1.SetEndOfLineOptions(JMP.jmpTIEndOfLineConstants.tiCRLF)
TI1.FirstLineIsData(True)
'Open the file
Doc1 = TI1.OpenFile
'Name the document window
Doc1.Name = "SPACE"
'Now open two more files. TI2 gets a file with spaces as
'end-of-field delimeters, TI3 gets one with commas.
TI2 = MyJMP.CreateTextImportObject(InstallDir & "\Samples\Import Data\EOF_spaces.TXT", 5)
TI2.SetColumnType(1, JMP.colDataTypeConstants.dtTypeCharacter)
TI2.SetColumnType(3, JMP.colDataTypeConstants.dtTypeCharacter)
TI2.SetEndOfFieldOptions(JMP.jmpTIEndOfFieldConstants.tiSpaces)
TI2.SetEndOfLineOptions(JMP.jmpTIEndOfLineConstants.tiCRLF)
TI2.FirstLineIsData(True)
Doc2 = TI2.OpenFile
Doc2.Name = "SPACES"
TI3 = MyJMP.CreateTextImportObject(InstallDir & "\Samples\Import Data\EOF_comma.TXT", 5)
TI3.SetColumnType(1, JMP.colDataTypeConstants.dtTypeCharacter)
TI3.SetColumnType(3, JMP.colDataTypeConstants.dtTypeCharacter)
TI3.SetEndOfFieldOptions((JMP.jmpTIEndOfFieldConstants.tiComma))
TI3.SetEndOfLineOptions((JMP.jmpTIEndOfLineConstants.tiCRLF))
TI3.FirstLineIsData((True))
Doc3 = TI3.OpenFile
Doc3.Name = "COMMA"
End Sub