Форум: "Базы";
Текущий архив: 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.04 c