全てにおいて良い日、
File Helper を使用した CSV 解析に関して問題があります。私のCSVは次のようになります
,,,026642,0,00336,05,19,"スイカ *",19,"1 ",,,,,,,,0,,001.99.,0,,,,,0,,0,0, ,,,,,,,,,,,,,,,,51,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,026645,0,00338,05,19,"オニオン ",19,"*1",,,,,,,,0,,002.99.,0,,,,,0,,0,0,,,,,,,,,,,,,, ,,,51,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,026687,0,00380,05,19,"マッシュルーム",19,"(ブラックファンガス)",,, ,,,,,0,,021.90.,0,,,,,0,,0,0,,,,,,,,,,,,,,,,51,,,,,,,, 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、
このCSVには116列/フィールドがあります。
問題は、行全体から4つのフィールドしか必要ないことでした。
フィールド 4 = 026687、フィールド 9 = "WATERMELON *"、フィールド 11 = "(BLACK FUNGUS)"、フィールド 21 = 002.99。
インスタンスクラスを作成するための非常に優れたソリューションであるウィザードを使用し、必要のない他のすべてのフィールドの上に FieldValueDiscarded _ を配置すると、CSV 入力と同じように出力されます。
出力に書き込むために必要なフィールドのみを抽出する方法を教えてください。
ありがとうございました
更新:さらに調査した結果、最終的にこのエラーについて明確になりました。このエラーは、クラスが継承されていないために発生するため、特定のフィールドを別のクラスに取得できません。マッピング クラスを継承クラスとして宣言することで、特定のフィールドを取得できます。
ただし、マッピングクラスから継承したクラス内の関数を取得する方法に固執しました。これは私のコードです `Imports System.Text Imports System.IO Imports FileHelpers
Public Class ProcessField : InputCSV を継承
Public Function MyPLUc(ByVal value As Integer)
Dim PLUc As String
MyBase.PLU = value
PLUc = (0 + 0 + value)
Return (0 + 0 + value)
End Function
Public Function MyStatusc(ByVal value As Integer)
MyBase.Status = value
Dim Status As Integer
If value > 0 Then
Status = 800
Else
Status = 900
End If
Return (0 + Status)
End Function
Public Function MyUnitPricec(ByVal value As Integer)
MyBase.UnitPrice = value
Dim UP As Integer
UP = value
Dim bytes As Byte() = System.Text.Encoding.Unicode.GetBytes(UP)
Return (0 + 0 + 0 + UP)
End Function
Public Function MyLabelFormat(ByVal value As Integer)
Return (1 + 1)
End Function
Public Function MyEAN(ByVal value As Integer)
Return (0 + 6)
End Function
Public Function MyCName(ByVal value As String)
MyBase.CName1 = value
Dim hexString As String = Hex(value)
Return (hexString)
End Function
Public Function MyBCC(ByVal value As String)
value = (0 + 0)
Return (0 + 0)
End Function
クラスの終了`
問題は、これらの関数ですべての戻り値を取得する方法です