Tomasz Starzyk

Tomasz Starzyk Student,
Politechnika Śląska
w Gliwicach,
elektryk (specj...

Temat: csv do DataTable

Witam, potrzebuję wczytać plik *.csv do DataTable. Znalazłem coś takiego:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
s: string;
f: textfile;
begin
AssignFile(f, 'Tabela.csv');
Reset(f);
with StringGrid1 do
for i := 0 to RowCount - 1 do
begin
Rows[i].Delimiter := ';';
Readln(f, s);
Rows[i].DelimitedText := s;
end;
CloseFile(f);
end;

ale muszę to zrobić bez vcl więc StringGrid odpada, no a dane muszę wczytać do DataTable... Ma ktoś jakiś pomysł ??Tomasz Starzyk edytował(a) ten post dnia 23.10.08 o godzinie 17:08

konto usunięte

Temat: csv do DataTable

Witam,

Może tak:
const string pattern = ",(?=(?:[^\"]*\"[^\\\"]*\")*(?![^\"]*\"))";
string[] lines = File.ReadAllLines(PathToMyFile, Encoding.Default);
string[] row = Regex.Split(lines[0], pattern, RegexOptions.Compiled);
DataTable dt = new DataTable("csv");
for(int i = 0; i < row.Length; i++)
{
dt.Columns.Add(row[i], System.Type.GetType("System.String"));
}
for (int i = 1; i < lines.Length; i++)
{
row = Regex.Split(lines[i], pattern, RegexOptions.Compiled);
DataRow dr = dt.NewRow();
for(int j = 0; j < row.Length; j++)
{
dr[j] = row[j];
}
dt.Rows.Add(dr);
}
myDataGridView.DataSource = dt;


Pozdrawiam,

johnJohn R. edytował(a) ten post dnia 23.10.08 o godzinie 17:34

konto usunięte

Temat: csv do DataTable

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 14:53

konto usunięte

Temat: csv do DataTable

Witam,

To w końcu jest to plik CSV czy co?

Pozdrawiam,

john

konto usunięte

Temat: csv do DataTable

A nie prosciej potraktowac plik CSV jako zrodlo danych ODBC i po prostu przepisac?

Następna dyskusja:

import CSV do bazy SQL




Wyślij zaproszenie do