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

EXEL в StringGrid

02.02.2013, 00:33. Показов 950. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как оптимизировать код, чтобы можно было выбрать нужный файл для импорта?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::Button6Click(TObject *Sender)
{
 AnsiString file = "C:\\Users\\Igor\\Desktop\\XLS_read\\test.xlsx";
   Variant Excel=CreateOleObject("Excel.Application");
   Variant Book=Excel.OlePropertyGet("Workbooks").OlePropertyGet("Open", "C:\\Users\\Igor\\Desktop\\XLS_read\\test.xlsx");
   Variant Sheet=Book.OlePropertyGet("Worksheets", 1);
   for(int i=1;i<94;i++) for(int j=1;j<16;j++)
       StringGrid1->Cells[j-1][i-1]=Sheet.OlePropertyGet("Cells",i,j);
   if (!Excel.IsEmpty())
   {
     Excel.OleProcedure("Quit");
     Excel.Clear();
   }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2013, 00:33
Ответы с готовыми решениями:

Импорт из EXEL в StringGrid
Подскажите пожалуйста, как реализовать импорт данных из EXEL в StringGrid в C++ Builder? Это очень важно! Заранее спасибо!

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

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

6
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
02.02.2013, 00:41
..(ничего, если снова я присоветую?). Вот такой код на BCB 6.0 работает без ошибки__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    OpenDialog1->Execute();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::OpenDialog1CanClose(TObject *Sender,
      bool &CanClose)
{
    WideString wStr = OpenDialog1->FileName;
   Variant Excel=CreateOleObject("Excel.Application");
   Variant Book=Excel.OlePropertyGet("Workbooks").OlePropertyGet("Open",wStr);
   Variant Sheet=Book.OlePropertyGet("Worksheets", 1);
   for(int i=1;i<94;i++) for(int j=1;j<16;j++)
       StringGrid1->Cells[j-1][i-1]=Sheet.OlePropertyGet("Cells",i,j);
   if (!Excel.IsEmpty())
   {
     Excel.OleProcedure("Quit");
     Excel.Clear();
   }
}
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
02.02.2013, 01:02  [ТС]
Привет! Если ты будешь отвечать на мои посты я буду только рад) Я сейчас попробую)

Добавлено через 5 минут
Мне до тебя расти и расти)) А если в моей программе есть еще RichEdit. Как например сохранить через SaveDialog в док или ртф? Там просто текст
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
02.02.2013, 01:46
форматированный текст из ричэдит в rtf сохранить элементарно__
C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    SaveDialog1->Execute() ;    
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SaveDialog1CanClose(TObject *Sender,
      bool &CanClose)
{
     RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);  
}
(если, конечно, опция PlainText = false). В doc тоже можно, но посложнее.
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
02.02.2013, 02:03  [ТС]
Огромное тебе спасибо. Хорошо что есть умники(в хорошем смысле слова).

Добавлено через 11 минут
А... Еще хотел спросить. Я в SaveDialog добавил расширения. Только когда сохраняю оно создает файл, но расширение не ставит. Почему так?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
02.02.2013, 02:24
сам не пойму... . Пробуй так__
C++
1
2
3
    SaveDialog1->DefaultExt = "rtf";
     RichEdit1->Lines->SaveToFile(
        SaveDialog1->FileName+"."+SaveDialog1->DefaultExt);
1
55 / 38 / 20
Регистрация: 30.03.2012
Сообщений: 330
02.02.2013, 02:36  [ТС]
Работает)) Спасибо. Но все равно получается как бы не SaveDialog расширение файлу дает Но мне без разницы. Это отличный вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2013, 02:36
Помогаю со студенческими работами здесь

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

Экспорт таблицы StringGrid в Exel
помогите пожалуйста(((((((( вроде все правильно написала:help::help::help::help::help::help::help:

Как сохранять файл из StringGrid в Exel и Word в Андроид-приложениях?
Добрый день. Я бы хотел включить в андроид приложении кнопку для сохранения документа Exel и Word которые соответственно будут брать...

Передача данных в Exel (закрывается рабочая форма при открытии Exel)
Помогите пожалуйста. почему закрывается моя форма при открытии Exel? procedure TForm26.suiButton22Click(Sender: TObject); const...

Работа с Word и Exel через макрос, который запускается в Exel
Есть задача: проводятся расчеты в Эксель и из него открывается документ Ворд(эта часть работает), копируется таблица из Эксель и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru