1

以下は、csvファイルを解析して 2X2 テーブルにクライアントとクライアント名を入力するためのボタンのコードです。私はオンラインで見ましたが、VS 2012 と C# を使用して、やりたいことの適切な例を見つけることができません。ファイル内。

私の意図したアプローチはcsv、キーワードが見つかった場合にそれを読んで読むことです。それを使用してから、検索を続けます。

たとえば、laClientリストを検索したいのですが、見つかった場合HTYは、その後の次の 6 文字を取得して検索を続けます。

private void btnUpload_Click(object sender, EventArgs e)
{
    //Browse for file
    OpenFileDialog ofd = new OpenFileDialog();
    //Only show .csv files
    ofd.Filter = "Microsoft Office Excel Comma Separated Values File|*.csv";
    DialogResult result = ofd.ShowDialog();
        
    //If the user selects a valid file 
    if (result == DialogResult.OK)
    {
        //File is delimited by a comma
        char[] laClientDelim = { ',' };

        //New object for string manipulation
        objStringManipulation = new StringManipulation();
            
        // Parse the csv file
        List<string[]> lsClientList = objStringManipulation.parseCSV(ofd.FileName,  laClientDelim);

        foreach (string[] laClient in lsClientList)
        {
            //Create new object for manipulating the database
            objSqlCommands = new SqlCommands("Client", "ClientName");
            laClient[8].
                

            //Inserts the client info into datbase
            objSqlCommands.sqlCommandInsertorUpdate("INSERT", laClient[0]);
            //Refreshs the Client table on display from the 
            this.clientTableAdapter.Fill(this.ImpDataSet.Client);

            //update the view 
            dgvClientlst.Update(); 
            
        }
    }
}

csv データは次のようになります (下)。このレイアウトの品質が低いため、読みやすくするために画像を添付しようとしましたが、評判が 10 でないため、添付できません。

ISBU,ShareName,Status,Share CCY,Benchmark,NAV Freq,CLASSCODE,SIMULATION,HEDGED,FUNDCCY

1,1,2,Cj0162289439,FGHT グローバル ファンド - 韓国株式を含むアジア,アクティベート済み,米ドル,毎日午後 5 時 (CVT),AC,n/a,N,,

2,1,2,Cj0622164928,FGHT グローバル ファンド - アジア (韓国株式を含む),Activated,USD,毎日午後 5 時 (CCT),ACEUR,n/a,N,,

3,1,2,Cj0212851702,FGHT Global Funds - Asia incl Korea Equity,Activated,USD,Daily at 5:00pm (CST),ACHEUR,n/a,Y,,

4,1,2,Cj0042850808,FGHT Global Funds - Asia incl Korea Equity,Activated,USD,Daily at 5:00pm (CET),AD,n/a,N,,

5,1,2,Cj0212851884,FGHT グローバル ファンド - アジア (韓国株式を含む),Activated,USD,毎日午後 5 時 (CDT),ADHEUR,n/a,Y,,

6,1,2,Cj0162849209,FGHT グローバル ファンド - 韓国株式を含むアジア,アクティベート済み,USD,毎日午後 5 時 (CHT),EC,n/a,N,,

7,1,2,Cj0622165065,FGHT グローバル ファンド - 韓国株式を含むアジア,非活性化,USD,毎日午後 5:00 (CET),ECEUR,n/a,N,,

8,1,2,Cj0112316214,FGHT グローバル ファンド - 韓国株式を含むアジア,アクティベート済み,USD,毎日午後 5 時 (CGT),ED,n/a,N,,

9,4,2,Cj0162193169,FGHT グローバル ファンド - 韓国株式を含むアジア,アクティベート済み,米ドル,毎日午後 5 時 (CBT),IC,n/a,N,,

4

1 に答える 1

0

csv を読み取って、次のコードで単一の値を取得できるはずです。

string[] records = File.ReadAllLines(fileName); // read the file completely line by line

// loop through all lines
foreach (string record in records)
{
    string[] fields = record.Split(splitChar);  // reads all the single values per line. 'splitChar' should be the delimiter.
}
于 2013-08-02T09:59:21.043 に答える