С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 22.11.2015
Сообщений: 3
1

Экспорт одной строки в Excel из Access

22.11.2015, 22:51. Показов 1620. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здрасте, люди добрые помогите с экспортом одной строки в Excel из Access
Надо чтобы при нажатии на строку экспортировало только её, а другие не трогала
у вас на форуме нашёл кодик, а он все строчки которые есть кидает в 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
String fTPL = ExtractFilePath(Application->ExeName) + "template.xls";
  Variant app, books, book, sheet, Rang, vCell;
  app = CreateOleObject("Excel.Application");
  books = app.OlePropertyGet("Workbooks");
  books.OleFunction("Open", WideString(fTPL));
  book = books.OlePropertyGet("item",1);
  sheet = book.OlePropertyGet("WorkSheets",1);
  vCell=sheet.OlePropertyGet("Cells").OlePropertyGet("Item",1,1);
  vCell.OlePropertySet("Value",WideString(Header));
  const int bounds[4] = {0, ADOTable1->RecordCount, 0, ADOTable1->FieldCount};
  Variant vData = VarArrayCreate(bounds, 3, varVariant);
  ADOTable1->First();
  for(int row = 0; row < ADOTable1->RecordCount; ++row)
   {
     for(int column = 0; column < ADOTable1->FieldCount; ++column)
        vData.PutElement(ADOTable1->Fields->Fields[column]->AsVariant, row, column);
     ADOTable1->Next();
   }
  Rang = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",4,1),
         sheet.OlePropertyGet("Cells", ADOTable1->RecordCount + 3, ADOTable1->FieldCount));
  Rang.OlePropertySet("Value",vData);
  app.OlePropertySet("DisplayAlerts",false);
  book.OleProcedure("SaveAs",WideString(fXLS));
  app.OleProcedure("Quit");
  ShowMessage("Готово!\nОтчет записан в файл " + fXLS);
Добавлено через 8 минут
и ещё один вопрос можно ли запретить onclose через кнопку?
Есть форма там через onclose прописано "закрыть программу" да, нет
Нужно чтобы при нажатие на кнопку на др. форме открывалась форма1 и сразу поставился запрет на появление такого сообщения "закрыть программу" да, нет. Просто открыл форму 1, сделал то что нужно, нажал кнопку и она закрылась, без вывода сообщений о закрытии.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2015, 22:51
Ответы с готовыми решениями:

Экспорт данных из запроса Access в Excel-Шаблон с определенной строки
Добрый день, Увожаемые форумчане. У кого нибудь есть готовый пример экспорта данных из запроса...

Экспорт-импорт данных Excel-Access-Excel
Доброе время суток уважаемые форумчане. Приходит информация в экселевской таблице. Скидываю её в...

Excel -> Access -> Excel, импорт - экспорт
Добрый день! Есть табель учета рабочего времени в таблице Excel, задача - переместить данные со...

Экспорт из Access в Excel
Сделал программу по разным пособиям.Она експортирует данные из excel в access,подскажете как...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32996 / 21302 / 8180
Регистрация: 22.10.2011
Сообщений: 36,595
Записей в блоге: 8
23.11.2015, 09:56 2
Цитата Сообщение от ViewSonic987 Посмотреть сообщение
а надо одну которую выделил нажатием
Выделил нажатием чего и где?
0
0 / 0 / 0
Регистрация: 22.11.2015
Сообщений: 3
23.11.2015, 12:11  [ТС] 3
Цитата Сообщение от volvo Посмотреть сообщение
Выделил нажатием чего и где?
В dbgrid нажать на строчку и чтобы она только экспортировалась в excel. через adotable подключение
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32996 / 21302 / 8180
Регистрация: 22.10.2011
Сообщений: 36,595
Записей в блоге: 8
23.11.2015, 12:24 4
Лучший ответ Сообщение было отмечено volvo как решение

Решение

Тогда цикл вообще не нужен:
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
    String fTPL = ExtractFilePath(Application->ExeName) + "template.xls";
    Variant app, books, book, sheet, Rang, vCell;
    app = CreateOleObject("Excel.Application");
    books = app.OlePropertyGet("Workbooks");
    books.OleFunction("Open", WideString(fTPL));
    book = books.OlePropertyGet("item", 1);
    sheet = book.OlePropertyGet("WorkSheets", 1);
    vCell = sheet.OlePropertyGet("Cells").OlePropertyGet("Item", 1, 1);
    vCell.OlePropertySet("Value", WideString(Header));
    const int bounds[4] = {0, ADOTable1->RecordCount, 0, ADOTable1->FieldCount};
    Variant vData = VarArrayCreate(bounds, 3, varVariant);
    /*
    ADOTable1->First();
    for (int row = 0; row < ADOTable1->RecordCount; ++row)
    {
        for (int column = 0; column < ADOTable1->FieldCount; ++column)
            vData.PutElement(ADOTable1->Fields->Fields[column]->AsVariant, row, column);
        ADOTable1->Next();
    }
    */
 
    // DBGrid связан с ADOTable1, я надеюсь? Тогда ADOTable1 уже указывает на нужную строку, экспортируй только ее
    for (int column = 0; column < ADOTable1->FieldCount; ++column)
        vData.PutElement(ADOTable1->Fields->Fields[column]->AsVariant, row, column);
 
    Rang = sheet.OlePropertyGet("Range", sheet.OlePropertyGet("Cells", 4, 1),
        sheet.OlePropertyGet("Cells", ADOTable1->RecordCount + 3,
        ADOTable1->FieldCount));
    Rang.OlePropertySet("Value", vData);
    app.OlePropertySet("DisplayAlerts", false);
    book.OleProcedure("SaveAs", WideString(fXLS));
    app.OleProcedure("Quit");
    ShowMessage("Готово!\nОтчет записан в файл " + fXLS);
0
0 / 0 / 0
Регистрация: 22.11.2015
Сообщений: 3
23.11.2015, 13:14  [ТС] 5
Цитата Сообщение от volvo Посмотреть сообщение
Тогда цикл вообще не нужен:
так он вообще ничего не кидает(

Добавлено через 9 минут
Цитата Сообщение от ViewSonic987 Посмотреть сообщение
Тогда цикл вообще не нужен:
Всё сделал пропустил row, Спасибо))
теперь onclose осталось)
0
23.11.2015, 13:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2015, 13:14
Помогаю со студенческими работами здесь

Экспорт из access в excel
Скажите пожалуйста, как программно осуществить экспорт таблицы access в excel. всем спасибо!

Экспорт из Access в Excel
Добрый день. Есть итоговая таблица, в ней 20 поставщиков с разными параметрами , необходимо...

Экспорт Excel в access
Подскажите пожалуйста быстрый способ экспорта таблицы Excel в базу Access с помощью ADOQuery....

Экспорт данных из excel в access
Доброго времени суток друзья! Я знаю что данная тема не раз поднималась здесь, да и на многих...


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

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