0

私はExcelブックを解析し、次のようにデータを2つのDataTableに抽出しています。

If SetDBConnect("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";
Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""", True) Then

'Get total dollars table
 sql.Append("SELECT * FROM [" & totalDollars & "]")
 dt = _dh.GetTable(sql.ToString())

sql.Length = 0
sql.Append("SELECT * FROM [" & totalUnits & "]")
dt_units = _dh.GetTable(sql.ToString())
End If

2つのスプレッドシートはまったく同じですが、1つの違いがあります。「TotalDollars」スプレッドシートにはドル金額の列があり、「Total Units」スプレッドシートでは、代わりに単位金額の列があります。

INNER JOINこれらの2つのテーブルにWHENtableA.UPC=tableB.UPCを設定します。これは可能ですか?DataSetsとDataRelationsについて読んだことがありますが、もっと簡単なアプローチがあるのではないかと思いました。

ありがとう!

4

2 に答える 2

1

これに投票しないでください。ただし、VB .NET バージョンを貼り付けたかったのです。

Dim query = From c In dt.AsEnumerable() _
        Join r In dt_units.AsEnumerable() _
        On c.Field(Of String)("UPC") Equals r.Field(Of String)("UPC") _
        Select New With
        {
              .UPC = r.Field(Of String)("UPC")
        }
于 2012-12-20T22:37:25.300 に答える