0 / 0 / 0
Регистрация: 06.05.2011
Сообщений: 34

Загрузить данные из файла Excel в StringGrid через OpenDialog

01.05.2012, 17:00. Показов 3942. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!

Нужно загрузить данные из Excel файла в StringGrid через OpenDialog.

Из StringGrid в Excel получилось сделать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
 
WideString str;
TStringList *sl = new TStringList;
for(int i = 0 ; i<StringGrid1->RowCount ;++i)
{
for(int j = 0; j< StringGrid1->ColCount;++j)
str +=StringGrid1->Cells[j][i]+ "\t";
sl->Add(str);
str = "\r" ;
str = "";
}
if (SaveDialog1->Execute())
sl->SaveToFile(SaveDialog1->FileName + ".xls");
delete sl;
}
а вот как обратно сделать не знаю. Кто - нибудь может помочь?

В нете еще нарыл вот такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
Variant var_Excel, var_Sheet;
int Row_Counter = 0, Column_Counter = 0, Max_Column =10, Max_Row = 10;
 
var_Excel=CreateOleObject("Excel.Application");
var_Excel.OlePropertyGet("Application").OlePropertyGet("Workbooks").OleProcedure("Open" , "C:\999.xls" );
var_Excel.OlePropertySet("Visible",false);
var_Sheet = var_Excel.OlePropertyGet("ActiveSheet");
 
for (Row_Counter ; Row_Counter <= Max_Row ; Row_Counter++)
    {
      for (Column_Counter ; Column_Counter <= Max_Column  ; Column_Counter++)
          {
           StringGrid1->Cells[Column_Counter][Row_Counter] =
               var_Sheet.OlePropertyGet("Cells").OlePropertyGet("Item", Row_Counter + 1 , Column_Counter + 1);
          }
          Column_Counter = 0;
    }
var_Excel.OlePropertyGet("Application").OleProcedure("Quit");
var_Sheet = Unassigned;
var_Excel = Unassigned;
}
Выдает ошибку "Неверный тип переменной". Попробовал заменить
C++
1
OleProcedure("Open" , "C:\999.xls" );
на
C++
1
OleProcedure("Open" , OpenDialog1->FileName.c_str() );
тоже вылазить ошибка! Что не так с этим Excel??? Help!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2012, 17:00
Ответы с готовыми решениями:

Как записать данные в StringGrid через OpenDialog из файла?
Доброго времени суток! Как записать данные в StringGrid через OpenDialog из файла? Есть кнопка сохранения с кодом: Перековыривал на...

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

Скопировать данные из файла Excel в StringGrid
Здравствуйте) Я понимаю, что тема уже заезжанная. Я раньше использовала технологию OLE для загрузки данных. Все работало. Но сейчас...

1
479 / 392 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
02.05.2012, 09:01
я так делаю
C++
1
OleProcedure("Add",OpenDialog1->FileName.c_str())
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2012, 09:01
Помогаю со студенческими работами здесь

Занесение базы данных в StringGrid через OpenDialog
Как занести базу данных Access в StringGrid через OpenDialog? И как сохранить через SaveDialog?

Возможность вручную писать данные в ячейки StringGrid и заполнение ячеек StringGrid данными из файла после нажатия кнопки
Здравствуйте! Помогите, пожалуйста. Мне необходимо сделать следующее: реализовать возможность вручную писать данные в ячейки StringGrid...

Как загрузить StringGrid по содержимому, выбранного в OpenDialog текстового файла?
procedure TForm8.Button1Click(Sender: TObject); const m = 10; n = 7; type BootLine = array of string; var FileData: TextFile; var...

Загрузить данные из Excel в StringGrid
При открытие файла в StingGride появляется только первая строчка таблицы из экселя, затем вылетает ошибка: &quot;Could not convert variant...

Копировать данные файла csv в stringgrid при помощи opendialog
Приветствую вас! Помогите написать код который который копировал бы таблицу файла csv и засовывал его в stringgrid при помощи...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru