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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2013, 07:42   #1
Symple me
Пользователь
 
Аватар для Symple me
 
Регистрация: 09.10.2012
Сообщений: 47
Печаль Импорт из excel в stringgrid

Здравствуйте! Пытаюсь считать из таблицы Excel в StringGrid.
Код:
Variant  Application,Books,Book,Sheets,Sheet,Cells,Cell;
Application=CreateOleObject("Excel.Application");
Books = Application.OlePropertyGet("Workbooks");
Books.OleProcedure("Open","Data.xls");
После запуска появляется ошибка Project raised exception class EOleSysError with message 'Ошибка'. Когда нажимаю ОК, выделяется строка в файле Project.cpp:
Код:
OleProcedure(name, static_cast<TAutoArgsBase*>(&args));
Если перед запуском закомментировать строку
Код:
Books.OleProcedure("Open","Data.xls");
ошибка не выскакивает. Скажите, пожалуйста, как исправить ошибку!
There are 10 types of people: those who understand binary and those who don't.
Symple me вне форума Ответить с цитированием
Старый 05.02.2013, 16:47   #2
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Нужно указывать полный путь к файлу xls, т.е типа "C:\\MyData\\Data.xls"
nick42 вне форума Ответить с цитированием
Старый 05.02.2013, 17:20   #3
Symple me
Пользователь
 
Аватар для Symple me
 
Регистрация: 09.10.2012
Сообщений: 47
По умолчанию

Получилось, спасибо!
There are 10 types of people: those who understand binary and those who don't.
Symple me вне форума Ответить с цитированием
Старый 06.02.2013, 11:30   #4
Symple me
Пользователь
 
Аватар для Symple me
 
Регистрация: 09.10.2012
Сообщений: 47
По умолчанию

Еще хотела спросить, а нельзя сделать, чтоб не зависело от полного пути к файлу? Вроде можно поместить в папку проекта, указать имя и еще какие-то символы
There are 10 types of people: those who understand binary and those who don't.
Symple me вне форума Ответить с цитированием
Старый 06.02.2013, 12:13   #5
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Symple me Посмотреть сообщение
Еще хотела спросить, а нельзя сделать, чтоб не зависело от полного пути к файлу? Вроде можно поместить в папку проекта, указать имя и еще какие-то символы
Код:
.OleProcedure("Open",GetCurrentDir()+"\\example.xls");
nick42 вне форума Ответить с цитированием
Старый 06.02.2013, 12:50   #6
Symple me
Пользователь
 
Аватар для Symple me
 
Регистрация: 09.10.2012
Сообщений: 47
По умолчанию

Почему-то пишет 'Неверный тип переменной'
There are 10 types of people: those who understand binary and those who don't.
Symple me вне форума Ответить с цитированием
Старый 06.02.2013, 17:02   #7
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

это, видимо, из-за юникода. Попробуйте так:

WideString path1 = GetCurrentDir()+"\\Date.xls" ;
...).OleProcedure("Open",path1);
nick42 вне форума Ответить с цитированием
Старый 07.02.2013, 05:29   #8
Symple me
Пользователь
 
Аватар для Symple me
 
Регистрация: 09.10.2012
Сообщений: 47
По умолчанию

Спасибо большое!
There are 10 types of people: those who understand binary and those who don't.
Symple me вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Borland C++ Builder - импорт из Excel в StringGrid nuser C++ Builder 3 10.01.2015 12:38
Импорт данных из Excel в Excel макросом vnmz Microsoft Office Excel 2 04.03.2011 18:04
импорт из Excel в stringgrid WRC fan 66 Общие вопросы Delphi 2 11.12.2010 06:33