Здравствуйте!
Подскажите пожалуйста, можно ли содержимое компонента-таблицы StringGrid экспортировать в документ Excel?
Если да, то как это делается?
С++ Builder6 & Excel |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
С++ Builder6 & Excel |
18192123 |
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Здравствуйте!
Подскажите пожалуйста, можно ли содержимое компонента-таблицы StringGrid экспортировать в документ Excel? Если да, то как это делается? |
volvo |
Сообщение
#2
|
Гость |
Можно... В Drkb есть пример на Дельфи: "VCL -> TStringGrid -> Сохранение и загрузка, импорт и экспорт -> Экспорт TStringGrid в Excel", я думаю, что перенести на Builder не составит труда?
|
18192123 |
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Можно... В Drkb есть пример на Дельфи: "VCL -> TStringGrid -> Сохранение и загрузка, импорт и экспорт -> Экспорт TStringGrid в Excel", я думаю, что перенести на Builder не составит труда? Спасибо, справлюсь:) |
18192123 |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
и вооот такой список ошибок.. [C++ Error] Unit_Stochastic_variables.cpp(66): E2188 Expression syntax [C++ Error] Unit_Stochastic_variables.cpp(69): E2247 '_fastcall Variant::operator [](const int)' is not accessible [C++ Error] Unit_Stochastic_variables.cpp(71): E2451 Undefined symbol 'Result' [C++ Error] Unit_Stochastic_variables.cpp(76): E2288 Pointer to structure required on left side of -> or ->* [C++ Error] Unit_Stochastic_variables.cpp(78): E2316 'Workbooks' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(78): E2451 Undefined symbol 'xlWBatWorkSheet' [C++ Error] Unit_Stochastic_variables.cpp(79): E2316 'Workbooks' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(80): E2316 'Name' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(82): E2316 'Range' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(87): E2316 'Workbooks' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(93): E2174 The '...' handler must be last [C++ Error] Unit_Stochastic_variables.cpp(97): E2064 Cannot initialize 'const Variant &' with 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(97): E2342 Type mismatch in parameter 'V' (wanted 'const Variant &', got 'OleVariant') [C++ Error] Unit_Stochastic_variables.cpp(99): E2316 'DisplayAlerts' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(100): E2316 'Quit' is not a member of 'OleVariant' [C++ Error] Unit_Stochastic_variables.cpp(101): E2451 Undefined symbol 'XLAPP' [C++ Error] Unit_Stochastic_variables.cpp(106): E2252 'catch' expected [C++ Warning] Unit_Stochastic_variables.cpp(106): W8070 Function should return a value [C++ Warning] Unit_Stochastic_variables.cpp(106): W8004 'xlWBATWorksheet' is assigned a value that is never used Большое количество ошибок типа "is not member of OleVariant", и поскольку имею дело с Билдером, не знаю как переделать.. Помогите пожалуйста довести до ума начатое! |
volvo |
Сообщение
#5
|
Гость |
Не-не-не... Билдер - это тебе не Дельфи, тут вся работа происходит через OlePropertyGet/OlePropertySet/OleFuntion/OleProcedure... Вот так работает экспорт в Excel:
bool SaveAsExcelFile(TStringGrid *AGrid, AnsiString ASheetName, AnsiString AFileName) |
18192123 |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
|
18192123 |
Сообщение
#7
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Натолкнулась ещё на одну проблему..
У меня в StringGrid во время выполнения программы помещается большое количество строк, и их количество больше, чем может вместить один лист в Excel. Можно как-то вставить ещё один лист в книгу, когда обнаружится недостаток строк для экспорта..? Помогите найти выход, пожалуйста! |
volvo |
Сообщение
#8
|
Гость |
Цитата Можно как-то вставить ещё один лист в книгу, когда обнаружится недостаток строк для экспорта..? Легко:bool SaveAsExcelFile(TStringGrid *AGrid, AnsiString ASheetName, AnsiString AFileName)(тестировал на Excel XP + BDS 2009 на СтрингГриде, содержащем 2000 строк. Так вот эти 200 строк были корректно разбиты на 4 листа) |
18192123 |
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Здравствуйте!
Теперь мне требуется импортировать данные из Excel в StringGrid. Пример в DRKB данной операции я нашла, только возникли затруднения с тем, чтобы переделать примерчик на C++ - не знаю, какие методы нужно использовать взамен имеющихся.. Например, вот такое уже не воспринимается компилятором:
Объясните пожалуйста, как это всё должно выглядеть? |
volvo |
Сообщение
#10
|
Гость |
Я ж написал выше:
Цитата вся работа происходит через OlePropertyGet/OlePropertySet/OleFuntion/OleProcedure Вот и работаем:... |
18192123 |
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 920 Пол: Женский Реальное имя: Марина Репутация: 2 |
Попыталась переделать на C++ импорт из Excel
Но для некоторых моментов не знаю, что нужно использовать из методов OlePropertyGet/OlePropertySet/OleFuntion/OleProcedure...
Помогите разобраться, пожалуйста |
volvo |
Сообщение
#12
|
Гость |
Вот основа кода:
bool Xls_To_StringGrid(TStringGrid *AGrid, String AXLSFile), всякие обработки исключений повесь сама... |
Текстовая версия | 23.04.2024 16:44 |