Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 01.04.2012
Сообщений: 34

Дружба Builder с Access, Word, Excel

05.11.2013, 20:55. Показов 2220. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток форумучане.
Выпала мне доля писать дипломный проект с расчётом данных из БД Access с созданием отчётов в Word, Excel.
Задача такова:
Данные заносятся в таблицу Access и после всех заполненных данных производятся вычисления.
Затем всё что рассчиталось, нужно оформить отчётов в M Word (сделанный уже шаблон) или сгенирированный программой и так же в отчёт Excel.
Если кто-то уже сталкивался с этим или же с половиной то что приведено, расскажите как сделайт или же может у Вас есть пример то буду благодарен за него.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2013, 20:55
Ответы с готовыми решениями:

Word и Excel в C++ Builder
Всем привет! Заранее скажу, что только начинаю изучать С++ и поэтому буду рад любой помощи. Появилась необходимость с помощью...

MS Word и C++ Builder
Всем доброго времени суток! Есть база в MS SQL. подключена к C++ Builder c помощью ADO. На форме есть dbgrid. из него данные нужно...

Access закрытие процессов Excel, Word
Здравствуйте форумчане! Есть такая проблема как висячие процессы ворда и екселя после их программного закрытия. Перечитал кучу...

6
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.11.2013, 21:06
Ну с Word и Excel можно через OLE работать, кроме того если я не ошибаюсь с Excel можно работать через компоненты БД.

Есть еще такой вариант- создавать xml по формату Word/Excel а затем сжимать его в zip-архив в итоге получим нужный файл который можно будет открыть в Word/Excel
0
1 / 1 / 0
Регистрация: 01.04.2012
Сообщений: 34
05.11.2013, 21:21  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Ну с Word и Excel можно через OLE работать, кроме того если я не ошибаюсь с Excel можно работать через компоненты БД.
Да, использовать OLE компонент можно, но мне нужны разные варианты для решения задачи.
То что будет твориться в БД это уже дело моё, главное сделать отчёты в Word и Excel вот это меня больше заботит.

Добавлено через 12 минут
Мне нужно не открывать Word или Excel.
Как в случае с Excel то только выстроить таблицу и занести данные.
С Word'om уже другая проблема, нужно построить отчёт по ГОСТ"у или в шаблон записать данные.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.11.2013, 21:32
Цитата Сообщение от Krapters Посмотреть сообщение
Мне нужно не открывать Word или Excel.
Ну в Вашем случае думаю только через OLE и можно сделать.
0
1 / 1 / 0
Регистрация: 01.04.2012
Сообщений: 34
05.11.2013, 21:36  [ТС]
А примерчик с Word и Excel где можно взять работающий ?
0
 Аватар для gumi250
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
06.11.2013, 00:18
http://wladm.narod.ru/Borland/olebegin.html
1
0 / 0 / 1
Регистрация: 13.01.2013
Сообщений: 34
20.11.2013, 15:33
Доброе времени суток. Прошу помощи у знающих! Сделал экспорт БД в Excel.

C++
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
70
71
72
73
74
75
76
77
78
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
AnsiString sFile;
sFile = GetCurrentDir()+"\\Шаблон.xlt";
 
 Variant App;
if(!fStart)
 {
 try
 {
App = Variant::CreateObject("Excel.Application");
fStart=true;
 }
 catch(...)
 {
 MessageBox(0, "Не открывается сервер Excel",
 "Внимание", MB_OK);
 return;
 }
 }
 
Variant XLBook = App.OlePropertyGet("WorkBooks");
 
Variant Sh;
Procedure Open("Open");
XLBook.Exec(Open<<sFile);
Sh = XLBook.OlePropertyGet("Count");
Sh = App.OlePropertyGet("WorkSheets",1);
 
App.OlePropertySet("Visible",Variant(true));
 
 
String Str;
String Str2;
String Str3;
String Str4;
String Str5;
String Str6;
String Str7;
String Str8;
 
int index;
int i;
AnsiString ran;
index=4;
Form1->ADOTable1->First();
 for(i=1;i<=Form1->ADOTable1->RecordCount;i++)
{
Str = Form1->ADOTable1->Fields->Fields[0]->AsString;
Str2 = Form1->ADOTable1->Fields->Fields[1]->AsString;
Str3 = Form1->ADOTable1->Fields->Fields[11]->AsString;
Str4 = Form1->ADOTable1->Fields->Fields[4]->AsString;
Str5 = Form1->ADOTable1->Fields->Fields[5]->AsString;
Str6 = Form1->ADOTable1->Fields->Fields[7]->AsString;
Str7 = Form1->ADOTable1->Fields->Fields[12]->AsString;
Str8 = Form1->ADOTable1->Fields->Fields[13]->AsString;
Sh.OlePropertyGet("Cells",index,2).OlePropertySet("Value",Str.c_str());
Sh.OlePropertyGet("Cells",index,3).OlePropertySet("Value",Str2.c_str());
Sh.OlePropertyGet("Cells",index,4).OlePropertySet("Value",Str3.c_str());
Sh.OlePropertyGet("Cells",index,5).OlePropertySet("Value",Str4.c_str());
Sh.OlePropertyGet("Cells",index,6).OlePropertySet("Value",Str5.c_str());
Sh.OlePropertyGet("Cells",index,7).OlePropertySet("Value",Str6.c_str());
Sh.OlePropertyGet("Cells",index,8).OlePropertySet("Value",Str7.c_str());
Sh.OlePropertyGet("Cells",index,9).OlePropertySet("Value",Str8.c_str());
 
ran="B4:I"+IntToStr(index);
Sh.OlePropertyGet("Range",ran.c_str()).OlePropertyGet("Borders",9).
         OlePropertySet("LineStyle",1);
Sh.OlePropertyGet("Range",ran.c_str()).OlePropertyGet("Borders",9).
         OlePropertySet("Weight",2);
Sh.OlePropertyGet("Range",ran.c_str()).OlePropertyGet("Borders",9).
         OlePropertySet("ColorIndex",1);
 
index=index+1;
Form1->ADOTable1->Next();
}
...
}
Так вот все работает прекрасно, но только первый раз!! При попытке нажать на кнопку второй раз вылетает ошибка
"IsBound() @ c:\\bcb\emuvcl\utilcls.h/4249 Press[Y]es to terminate, [N]o to continue and [C]ancel to Debug"
Что неправильно написал? Подскажи, плиз!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2013, 15:33
Помогаю со студенческими работами здесь

Импорт и Экспорт в Word,Excel,Access
Прошу помочь с лабами бд.на форме есть Table,DBGrid,DataSource.Таблицы сделаны в Paradoxe.как сделать импорт и экспорт.может ссылку на...

Добавление и извлечение документов (Word, Excel) из БД MS Access
Доброго времени суток. Есть задача хранить и извлекать документы из БД. Потом, возможно заказчик захочет модифицировать и заливать...

Добавление и извлечение документов (Word, Excel) из БД на MS Access
Доброго времени суток. Есть задача хранить и извлекать документы из БД. Надо именно хранение в БД, по другому никак. Программа...

Связь в одном приложении MS Word, Excel и Access, используя технологию ADO
Доброго времени суток, форумчане! Не могли бы показать пример комплексного приложения, в котором связаны MS Word, Excel и Acess,...

Что лучше использовать для приложения, взаимодействующего с Word, Excel и Access?
Здравствуйте! Имеется задача: есть файл excel, нужно на основании данных в нем, и ответов на вопросы от программы пользователю, создать...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru