Topic: Импорт из XLS
Добрый день. Возможен импорт данных в таблицу из экселя?
My Visual Database → Russian → Импорт из XLS
http://myvisualdatabase.com/forum/viewtopic.php?id=1373
в самой MVD есть средство импорт/экспорт "настройка.....
Сделал как в примере, не отрабатывает, можете посмотреть?
Ваш CSV файл в ANSI кодировке, чтобы загрузить данный файл, необходимо использовать sl.LoadFromFileAnsi(OpenDialog.FileName); вместо sl.LoadFromFile (OpenDialog.FileName);
Также присутствует ошибка в коде, в arrStr[1] забыли изменить индекс, поправил скрип:
procedure card_Button4_OnClick (Sender: string; var Cancel: boolean);
var
OpenDialog: TOpenDialog;
sl: TStringList;
arrStr: array of string;
i,c: integer;
begin
OpenDialog := TOpenDialog.Create(card);
OpenDialog.InitialDir := ExtractFileDir(Application.Exename);
if OpenDialog.Execute then
begin
sl := TStringList.Create;
//sl.LoadFromFile (OpenDialog.FileName);
sl.LoadFromFileAnsi(OpenDialog.FileName);
//ShowMessage(c);
c := sl.Count - 1;
for i := 0 to c do
begin
arrStr := SplitString(sl[i], ';');
// card_name
if arrStr[0] <> '' then arrStr[0] := ''''+ ReplaceStr(arrStr[0], '''', '''''') + ''''
else arrStr[0] := 'NULL';
// quantity
if arrStr[1] <> '' then arrStr[1] := ''''+ ReplaceStr(arrStr[1], '''', '''''') + ''''
else arrStr[1] := 'NULL';
// price
if arrStr[2] <> '' then arrStr[2] := ''''+ ReplaceStr(arrStr[2], '''', '''''') + ''''
else arrStr[2] := 'NULL';
// season
if arrStr[3] <> '' then arrStr[3] := ''''+ ReplaceStr(arrStr[3], '''', '''''') + ''''
else arrStr[3] := 'NULL';
SQLExecute ('INSERT INTO cards (card_name, quantity,price,season) VALUES ('+ arrStr[0] +','+ arrStr[1]+','+ arrStr[2] +','+ arrStr[3] +');');
card.Label5.Caption := IntToStr(i+1) + ' of ' + IntToStr(c+1);
Application.ProcessMessages;
end;
sl.Free;
card.TableGrid1.dbUpdate;
end;
OpenDialog.Free;
end;
My Visual Database → Russian → Импорт из XLS
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi