掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
空白のあるcsvファイルをStringGridに取り込むには? (ID:15796)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>囲もうとしていますが、やはり思い通りに取り込めません。 思い通りに取り込めないのは、単なるコード記述のミス。 これ↓ならいける。 procedure TForm1.Button1Click(Sender: TObject); var i: Integer; InputFile: TextFile; TmpStringList: TStringList; TxtLineData: String; begin ForceCurrentDirectory := True; if OpenDialog1.Execute then begin I := 0; StringGrid1.FixedCols := 1; StringGrid1.FixedRows := 1; AssignFile(InputFile, OpenDialog1.FileName); Reset(InputFile); TmpStringList := TStringList.Create; try while not SeekEof(InputFile) do begin ReadLn(InputFile, TxtLineData); // 空白があるデータをダブルクオーテーションで囲む TxtLineData := StringReplace(TxtLineData,',' , '","' ,[rfReplaceAll]); // 最初と最後に'"'を付ける("a","b"," ","c") TxtLineData := '"'+ TxtLineData +'"'; // '""'を'" "'に置換(a","b"," ","c) TxtLineData := StringReplace(TxtLineData, '""','" "', [rfReplaceAll]); TmpStringList.CommaText := TxtLineData; TmpStringList.Insert(0,' '); StringGrid1.ColCount := TmpStringList.Count; StringGrid1.RowCount := I + 1; StringGrid1.Rows[I].Assign(TmpStringList); Inc(I); end; finally TmpStringList.Free; CloseFile(InputFile); end; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.