Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
56 / 31 / 1
Регистрация: 25.04.2013
Сообщений: 279
1

Перенос данных из грида в ексель

02.06.2013, 20:56. Показов 1429. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток всем. Делаю дипломку и остался последний шаг у меня есть DBGrid в ней есть несколько полей, скажите как мне сделать так чтобы при клике на какую нибудь строчку в DBGride эта запись импортировалась в файл Excel, если далее я нажимаю на следующую строчку то первая запись должна пропасть а новая появиться. За ранее спасибо.

Добавлено через 6 часов 40 минут
Ребят помогите кто-нибудь, осталось несколько дней до защиты, а тут не могу последнее сделать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2013, 20:56
Ответы с готовыми решениями:

Перенос данных в ексель
Добрый день. требуется помощь. Есть файл эксель, который имеет большое количество вкладок. В...

Поиск слова в отдельной книги Ексель и перенос с нее данных
У меня есть основной файл в который копируются строка с данными из 15 файлов эксель. ...

Перенос строки по словам в ячейке грида
Кто-нибудь,помогите пожалуйста с алгоритмом переноса строки по словам.Задача такая: нужно в ячейке...

Преобразование данных Ексель
Добрый день, Прошу помочь преобразовать данные из одного вида отображения в другой. Во вложении...

3
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
03.06.2013, 07:45 2
Пишешь в DBGrid-е на событие CellClick запись данных в Excel. Иструкция по работе с Excel здесь
0
56 / 31 / 1
Регистрация: 25.04.2013
Сообщений: 279
03.06.2013, 09:47  [ТС] 3
ZfoxAK, Это я уже видел, и там нету того что мне нужно, а именно чтобы данные из грида переносились в ексель
0
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
03.06.2013, 13:08 4
ну вот сама процедура переноса. ТОлько тут ширина столбцов вручную задается)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Procedure SendtoExcel(ShFile: String; Querys: TADOQuery);
Var
   ExcelApp, Workbook, Range, Cell1, Cell2,Cell3, ArrayData: Variant;
   BeginCol, BeginRow, j: integer;
   RowCount, ColCount: Integer;
Begin
try
 Querys.Open;
 BeginCol := 1;
 BeginRow := 1;
 RowCount := Querys.RecordCount+1;
 ColCount := Querys.FieldDefs.Count;
 
 ExcelApp := CreateOleObject('Excel.Application');
 
 ExcelApp.Application.EnableEvents:= false;
 
 Workbook := ExcelApp.WorkBooks.Add;
 
 WorkBook.SaveAs(ShFile);
 
 ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);
 
   Querys.DisableControls;
   Querys.First;
 
  For J := 0 To Querys.FieldDefs.Count-1 Do
    ArrayData[1, J+1]:=Exp_Otch.DBGrid1.Columns[J].FieldName;
 
  While Not Querys.eof Do
    Begin
      For J := 1 To Querys.FieldDefs.Count Do
        Begin
          ArrayData[Querys.RecNo+1,J]:=Querys.FieldbyName(Querys.FieldDefs.Items[j - 1].DisplayName).value;
        End;
      Querys.Next;
    End;
 
 Querys.EnableControls;
 
 WorkBook.WorkSheets[1].Columns[1].ColumnWidth := 20;
 WorkBook.WorkSheets[1].Columns[2].ColumnWidth := 20;
 WorkBook.WorkSheets[1].Columns[3].ColumnWidth := 20;
 WorkBook.WorkSheets[1].Columns[4].ColumnWidth := 20;
 WorkBook.WorkSheets[1].Columns[5].ColumnWidth := 20;
 WorkBook.WorkSheets[1].Columns[6].ColumnWidth := 20;
 
 Cell1 := WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol];
 Cell2 := WorkBook.WorkSheets[1].Cells[BeginRow + RowCount - 1, BeginCol + ColCount - 1];
 Cell3 :=WorkBook.WorkSheets[1].Cells[BeginRow, BeginCol + ColCount - 1];
 
 Range := WorkBook.WorkSheets[1].Range[Cell1, Cell2];
 Range.Value := ArrayData;
 Range.Borders.LineStyle:=1;
 Range.HorizontalAlignment := 3;
 Range := WorkBook.WorkSheets[1].Range[Cell1, Cell3];
 Range.Font.Bold := True;
 ExcelApp.Visible := True;
 
ExcelApp:= Unassigned;
Workbook:= Unassigned;
Range:= Unassigned;
Cell1:= Unassigned;
Cell2:= Unassigned;
Cell3:= Unassigned;
ArrayData:= Unassigned;
except on E: Exception do
end;
end;
ну а потом на DbGrid вешаешь PopupMenu, в нем пункт "Экспорт в эксель". И по клику вызываешь так:
Delphi
1
2
if SaveDialog1.Execute then
SendtoExcel(SaveDialog1.FileName,DataModule_Zap.ADOQuery_Prise);
ну этот query у меня служт источником записей для целевого DBGrid)
2
03.06.2013, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2013, 13:08
Помогаю со студенческими работами здесь

Экспорт данных в Ексель
Уважаемые спецы или просто продвинутые пользователи БД. Возможно ли из БД организовать заполнение...

Добавление данных в определенный столбец грида
Использую dbExpress+Mysql отображаю таблицу в dbgrid и пытаюсь в определённый столбец добавить...

Visual studio 2008 - редактированием данных Грида!
Есть грид, который отображает пользователей из базы данных, я сделал возможносьб добавления новых...

Перевести таблицу ексель в базу данных
Уважаемые форумчане. Подскажите есть ли вожможность как то автоматически (или полуавтоматически)...

Копирование данных с ексель в текстовый файл
Доброй ночи. Помогите плиз понять в чем ошибка. Пишу прогу на VB 6.0, не могу с открытой книги...

Конец файла и Пренеос данных в ексель
что бы не создовать много новых тем решил все спросить в одном: 1. есть файл в конец файла надо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru