С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330

Импорт из EXEL в StringGrid

31.01.2013, 18:14. Показов 3894. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, как реализовать импорт данных из EXEL в StringGrid в C++ Builder? Это очень важно! Заранее спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2013, 18:14
Ответы с готовыми решениями:

EXEL в StringGrid
Подскажите как оптимизировать код, чтобы можно было выбрать нужный файл для импорта? void __fastcall TForm1::Button6Click(TObject...

Сохранение StringGrid в EXEL
Как данные StringGrid сохранить в EXEL? Помогите плз.

Как StringGrid сохранить в Exel (xls file)?
приветствую тебя мой посетитель! собственно тема и есть мой вопрос :) есть стрингрид с текстом. хочу его сохранить в формате Exel ,...

23
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.01.2013, 19:57
Если Microsoft Excel, то через OLE

P.S. См примеры в книге Архангельского 7издание
0
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 20:07  [ТС]
Хорошо! Посмотрю. Спасибо большое.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.01.2013, 20:08
Есть еще сторонние компоненты как вариант...
0
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 20:38  [ТС]
Я просто никогда не занимался вот таким импортом. Поэтому для меня это новинка.))

Добавлено через 25 минут
Ты не мог бы все же продемонстрировать пример как это сделать. Правда очень срочно. И некогда разобраться((((((( Помоги пожалуйста.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.01.2013, 20:40
А мне что есть когда тебе пример выдумывать ? ( Тем более когда он уже есть с объяснениями в книге )
Странный вы народ однако
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 21:35
вот рабочий пример: читает одну ячейку (А 1) из файла test.xls и выводит в поле Edit1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 String file = "D:\\22\\test.xls";  // ïóòü óêàçûâàòü ÀÁÑÎËÞÒÍÛÉ!
 String col = "A" ; int row = 1;
 
 Variant App=Variant::CreateObject("Excel.application");
 Variant Books=App.OlePropertyGet("Workbooks");
 Procedure Open("Open");
 Books.Exec(Open<<file);
 Variant Book=App.OlePropertyGet("ActiveWorkBook");
 Variant Sheet=Book.OlePropertyGet("ActiveSheet");
 PropertyGet Range("Range");
 Variant range=Sheet.Exec(Range<<Variant(col+row));
 String val = range.OlePropertyGet("Value");  //val - çíà÷åíèå ÿ÷åéêè À-1
 
    Edit1->Text = val;
}
0
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 22:08  [ТС]
[BCC32 Error] Unit1.cpp(26): E2015 Ambiguity between 'operator System::AutoCmd::<<(const System::Currency) at c:\program files\embarcadero\rad studio\9.0\include\windows\rtl\sysvari.h :3568' and 'operator System::AutoCmd::<<(const System::TDateTime) at c:\program files\embarcadero\rad studio\9.0\include\windows\rtl\sysvari.h :3569'
Full parser context
Unit1.cpp(19): parsing: void _fastcall TForm1::Button1Click(System::TObject *)





что вот это может значить?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 22:15
.. это означает одно: эмбаркадеро. На BCB 5 и BCB 6 этот код красиво компилируется.
Попробуйте еще вот этот пример (копирование таблицы 5х5 в StringGrid "grid"__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::Button2Click(TObject *Sender)
{ 
   AnsiString file = "D:\\22\\test.xls";
   Variant Excel=CreateOleObject("Excel.Application");
   Variant Book=Excel.OlePropertyGet("Workbooks").OlePropertyGet("Open", file);
   Variant Sheet=Book.OlePropertyGet("Worksheets", 1);
   for(int i=1;i<6;i++) for(int j=1;j<6;j++)
       grid->Cells[j-1][i-1]=Sheet.OlePropertyGet("Cells",i,j); 
   if (!Excel.IsEmpty())
   {
     Excel.OleProcedure("Quit");
     Excel.Clear();
   }
}
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
31.01.2013, 22:16
Строки в WideString нужно оформлять...

WideString и префикс L перед строкой символов?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 22:21
P.S. кстати, неплохо бы на форму компонент ExcelApplication поместить...
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 22:29  [ТС]
Программа компилируется, но когда нажимаю кнопку, то выскакивает сообщение "Не верный тип переменной". Это типа он будет импортировать в стринггрид если в экселе числа будут?

Добавлено через 4 минуты
этого компонента вроде нету в рад студио. или как?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 22:29
посмотри готовую программу; может что-то подскажет (про путь к xls-файлу не забудь)
Вложения
Тип файла: rar XLS_read.rar (219.6 Кб, 106 просмотров)
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 22:34  [ТС]
Ник42 я установлю сейчас 6-билдер и там сделаю. Думаю прокатит. если что, то напишу. Спасибо тебе большое. Ты реально крутой мэн.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 22:41
[..не балуйся] Там для первой кнопки обработчик - фуфло; недоэкспериментировал, так что не обращай мнимания. И про TExcelApplication я на полном серьезе писал, - в заголовочном файле должна присутствовать строка вроде этой: #include "Excel_2K_SRVR.h"
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 22:45  [ТС]
я попробую. И еще хотел спросить: таблицу 15*93 он без проблем сделает или нет? И если в ячейках есть довольно большие тексты?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 22:50
Цитата Сообщение от nocl1p Посмотреть сообщение
я попробую. И еще хотел спросить: таблицу 15*93 он без проблем сделает или нет? И если в ячейках есть довольно большие тексты?
так сказать не могу. "Должен", но как в реале пойдет... . На форуме каком-то пацан ругался, что "до 900 все нормально, потом начинается". Но я думаю - это он сам накосячил и Билдер здесь ни при чем.
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 22:52  [ТС]
Твой исходник работает только с xls файлами? Или xlsx тоже может?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
31.01.2013, 23:12
исходник, вообще говоря, не мой; я обычно работаю 5-м Билдером; с ним было все в порядке. Сейчас попробовал то же на 6-м - и появилась ошибка "Неверный тип переменной". Так что разгребать все равно придется.
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
31.01.2013, 23:18  [ТС]
Так ты пока не в курсе в чем дело?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2013, 23:18
Помогаю со студенческими работами здесь

Импорт из Excel в StringGrid
может кто кинуть код, как импортировать значения из ексель в стринггрид. моя задача объявить переменную со значениями из екселевского...

Импорт из StringGrid в Excel
Здравствуйте! Я выделила столбец, который нужно заполнить: Cell=Sheet.OlePropertyGet(&quot;Range&quot;,&quot;D2:D201&quot;); ...

Импорт из Excel в StringGrid через OpenDialog
В приложении нужно данные из Excel импортировать в StringGrid. Код вроде как нашёл, но везде, где находил, путь к файлу прописывается...

Перенос таблицы из StringGrid в exel и word
Нашёл вот это &quot;Для того, чтобы запустить приложение Word или Excel из программы на &quot;Borland C++ Builder&quot; достаточно...

Импорт из StringGrid в Access
Программа должна выполнять импорт данных из Excel в Access. Написал импорт из Excel в StringGrid (так как возможно редактирование перед...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 05.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru