Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 18:36   #1
Multiman
Пользователь
 
Регистрация: 13.10.2010
Сообщений: 91
По умолчанию Загрузить данные из файла Excel в StringGrid через OpenDialog

Доброго времени суток!

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

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

Код:
{
 
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;
}
а вот как обратно сделать не знаю. Кто - нибудь может помочь?

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

Код:
{
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;
}
Выдает ошибку "Неверный тип переменной". Попробовал заменить
Код:
OleProcedure("Open" , "C:\999.xls" );
на
Код:
OleProcedure("Open" , OpenDialog1->FileName.c_str() );
тоже вылазит ошибка! Что не так с этим Excel??? Help!

Работаю в Embarcadero RAD Studio XE2 (c++ builder)
Multiman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать данные из файла Excel в StringGrid Екатерина_21 C++ Builder 2 18.05.2012 15:17
Данные из текстового файла в excel vovchik_lazarev Microsoft Office Excel 9 12.09.2011 21:14
Как загрузить данные на StringGrid полученный от сервера ? ДаниярЛ2 Работа с сетью в Delphi 3 09.09.2010 14:32
Данные из Excel через VBA mchip Microsoft Office Word 5 20.10.2009 16:08
Отображения Excel файла в StringGrid-е Demien Общие вопросы Delphi 6 16.04.2009 23:00