Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Из Excel в DBGrid   Найти похожие ветки 

 
Вовик   (2005-02-11 20:23) [0]

Предположим я копирую колоку из Excel.
Как мне достать её из буфера, а потом всавить в DBGrid c той строчки где курсор и дальше вниз?


 
Алхимик ©   (2005-02-11 20:38) [1]

Читать справку по DBGrid, до тех пор пока не будет достигнуто понимание того, что этот компонент только отображает некоторый набор данных.


 
Вовик   (2005-02-11 20:56) [2]

Ну ладно тогда как в Query


 
YurikGL ©   (2005-02-11 22:34) [3]

Как вариант, открыть excel через OLE, считывать по одной строчке и добавлять соответсвующие записи с помощью комманды insert into.

Но, вроде как, существует метод доступа к xls типа как к таблице БД, так что лучше даже его использовать.


 
cherrex ©   (2005-02-12 16:15) [4]

YurikGL © Но, вроде как, существует метод доступа к xls типа как к таблице БД, так что лучше даже его использовать.

А какой метод?


 
Вовик   (2005-02-13 09:07) [5]

procedure TBzForm.PASTEBitBtnClick(Sender: TObject);
var
CurrentPos: TBookmark;
FieldIndex,i:integer;
begin
MemoTXT.Clear;
MemoTXT.Lines.Add(Clipboard.AsText);
CurrentPos:=MainDataModule.QueryRab.GetBookmark;
FieldIndex:=????????????????????????????????????;
for i:=0 to (MemoTXT.Lines.Count-2) do begin
MainDataModule.QueryRab.Edit;
MainDataModule.QueryRab.Fields.Fields[FieldIndex].Text:=MemoTXT.Lines.Strings[i];
MainDataModule.QueryRab.Next;
end;
end;
Это я так сделал. Пользователь копирует столбик то если AsText его то это строки за ними пробел. Два столбика --два пробела.
Но возник вопрос-Как узнать индекс поля где находится указатель в Query?


 
ДухКороляАртура ©   (2005-02-13 22:10) [6]

Этот писал для скриптовой системы, пример в паскале
excel := createoleobject("excel.application");
//excel.visible := ShowExcel.Checked;
FileName := GetCurrentDir + "\orders.xls";
workbook := excel.workbooks.open(FileName);
worksheet := workbook.ActiveSheet;

i := 1;
ordid := "*";
while (ordid <> "") do
begin
 cell := worksheet.Cells(i,1);
 ordid := cell.Text;
 if (ordid <> "") then
 begin
   Append;
   dbEdit1.SetValue(ordid);
   cell := worksheet.Cells(i,2);
   dbEdit2.SetValue(cell.Text);
   cell := worksheet.Cells(i,3);
   dbEdit3.SetValue(cell.Text);
   cell := worksheet.Cells(i,4);
   dbEdit4.SetValue(cell.Text);
   cell := worksheet.Cells(i,5);
   dbEdit5.SetValue(cell.Text);
   Post;
 end;
 i := i + 1;
end;

//workbook.Close;
//Excel.Quit;
Excel := unassigned;

перепишешь под дельфю сам, принцип тот же



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.035 c
14-1109077825
Soft
2005-02-22 16:10
2005.03.13
Покупка CD-RW


1-1109599867
}|{yk
2005-02-28 17:11
2005.03.13
Как узнать, открыт ли Excel?


14-1108984691
kaZaNoVa
2005-02-21 14:18
2005.03.13
Дайджесты форумов, и html-формат


3-1108219828
Cardinal
2005-02-12 17:50
2005.03.13
!!!HELP!!! Обработка события OnFilterRecord в TTable


1-1109683663
emfw
2005-03-01 16:27
2005.03.13
Мноострочный список





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский