Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[44.192.95.161] |
|
Сообщ.
#1
,
|
|
|
Уже не раз вижу как народ ищет эту информацию, сам, всё, что можно перерыл но не одного примера нормального и совета под Билдер не нашёл.
Но вот наткнулся, у себя на винте. Читайте. Может очень пригодится. Просто жалко мне стало тех, кто также как и я будет мучатся в поисках. #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ExtCtrls.hpp> #include <Dialogs.hpp> #include <OleCtnrs.hpp> #include <utilcls.h> #include "GetExcel.h" //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_LaunchExcelClick(TObject *Sender) { try { my_excel = Variant::GetActiveObject("excel.application"); } catch (...) { try { my_excel = Variant::CreateObject("excel.application"); } catch (...) { ShowMessage("GetExcel failed."); return; } } my_excel.OlePropertySet("Visible",(Variant)true); } //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_WorkbookClick(TObject *Sender) { Variant my_workbook; Variant my_worksheet; Variant my_range; PropertyGet Range("Range"); PropertySet SetValue("Value"); PropertySet SetFormula("Formula"); PropertyGet GetValue("Value"); PropertyGet GetFormula("Formula"); my_workbook = my_excel.OlePropertyGet("ActiveWorkbook"); my_worksheet = my_workbook.OlePropertyGet("ActiveSheet"); Range.ClearArgs(); SetValue.ClearArgs(); my_range = my_worksheet.Exec(Range << "A1"); my_range.Exec(SetValue << "My Excel Worksheet"); Range.ClearArgs(); my_range = my_worksheet.Exec(Range << "B1:B5"); my_range.Exec(SetFormula << "=rand()"); Range.ClearArgs(); SetFormula.ClearArgs(); my_range = my_worksheet.Exec(Range << "A2"); my_range.Exec(SetFormula << "=sum(b1:b5)"); ShowMessage(my_range.OlePropertyGet("Value")); ShowMessage(my_range.OlePropertyGet("Formula")); } //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_NewWorkbookClick(TObject *Sender) { Variant all_workbooks; Variant my_workbook; //-- Get workbooks collection all_workbooks = my_excel.OlePropertyGet("Workbooks"); //-- Set number of worksheets to 1 my_excel.OlePropertySet("SheetsInNewWorkbook",(Variant)1); //-- Create a new workbook my_workbook = all_workbooks.OleFunction("Add"); } //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_SaveClick(TObject *Sender) { Variant my_workbook = my_excel.OlePropertyGet("ActiveWorkbook"); my_workbook.OleProcedure("Save"); } //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_SaveAsClick(TObject *Sender) { Procedure SaveAs("SaveAs"); Variant my_workbook = my_excel.OlePropertyGet("ActiveWorkbook"); my_workbook.Exec(SaveAs << "c:my_file.xls"); } //--------------------------------------------------------------------------- void __fastcall TForm_GetExcel::Button_OpenClick(TObject *Sender) { Variant all_workbooks = my_excel.OlePropertyGet("workbooks"); Procedure Open("Open"); if (OpenDialog1->Execute()) { all_workbooks.Exec(Open << OpenDialog1->FileName); } } Спасибо можно на мыло kpavelu@rambler.ru |
Сообщ.
#2
,
|
|
|
Если нужен готовый исходник, то вот сюда.
BCB5 or BCB6 http://www.buildercpp.narod.ru/files/sources/getexcel.rar |
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
Monster, А нет ли у тебя хорошего мануала? И желательно по Word!
ПЛИЗ!!! |
Сообщ.
#5
,
|
|
|
M Используем тег [code] для добавление текста программы в пост! Устное предупреждение! Читаем правила! |
Сообщ.
#6
,
|
|
|
Budda, если хочешь получить из проги доступ к OLE серверу worda, лучше читай мануал к VB (открой VB из worda) и смотри Microsoft Word Objects, а дальше как примере выше только для wordа.
|
Сообщ.
#7
,
|
|
|
Цитата Monster, 19.02.03, 17:04 Ну так спросил бы. И кто-нибудь тебе ответил. Например, я Уже не раз вижу как народ ищет эту информацию, сам, всё, что можно перерыл но не одного примера нормального и совета под Билдер не нашёл. |
Сообщ.
#8
,
|
|
|
А нельзя сделать так чтобы текст из екселя открывался в мемо или в стринг грид
|
Сообщ.
#9
,
|
|
|
Цитата СоколовАН @ А нельзя сделать так чтобы текст из екселя открывался в мемо или в стринг грид Подключи документ как источник данных и читай средствами доступа к БД. |
Сообщ.
#10
,
|
|
|
А можно по конкретней
|