prog

彦士(げんし)のメモ・・・

C++Builder csv読み込み

CSV File で情報をやり取りすることは結構何度もやっているんですが・・・メモ・・・

最初に list に CSV File を読み込みます

TStringList *readList = new TStringList;

   if(OpenDialog1->Execute()){
     Application->ProcessMessages();
     filename = OpenDialog1->FileName;
     readList ->LoadFromFile(filename);
   }

で、StringGrid に展開します

TStringList *workList= new TStringList;

   for(i=0; i<readList->Count; i++){
      workList->Clear();
      dataSTR = fujiList->Strings[i];
      while(1){//csv ","切り出し
         count= dataSTR.Pos(",");
         if(count ==0)
               break;
         workList->Add(dataSTR.SubString(1,count-1));
         dataSTR.Delete(1,count);
         }
      workList->Add(dataSTR);
      if(i==0){
         StringGrid1->ColCount = workList->Count+1;
         Memo1->Lines->Add("ColCount"+IntToStr(StringGrid1->ColCount));
         }
      if(i!=0)
         StringGrid1->Cells[0][i] = IntToStr(i);
      for(j=0; jCount; j++)
         StringGrid1->Cells[j+1][i] = workList->Strings[j];
   }
   delete   fujiList;
   delete   workList;

本来なら


workList->CommaText = readList->Strings[i];

で簡単に切り出しが出来るんですが空白を含むと上手くいかないので “,” で切り出ししています

メモ・・・でした(汗)

Leave a Reply