powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Из Buildera в Excel ! А я не могу????
14 сообщений из 14, страница 1 из 1
Из Buildera в Excel ! А я не могу????
    #32095184
Padre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, помогите с сылками по тематике перенесения данных из Builder на Excel
Читал ссылки по Делфи (ребята из раздела Delphi подкинули), но мне бы с Bulder-ом поработать!

Помогите, если можете!!
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32095287
Фотография Сашенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да да да да да!
Подскажите. Очень интересная тема.
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32098645
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если точно так же попробовать?
выброс в Excel идет при помощи COM функций Excel'я а по сему не столь важно на чем писать... на Дельфи на билдере или вообще на VB
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32099964
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
COM "функции" это конечно хорошо - но только как альтернатива веревке
Если нужно не изобретать колесо, а писать программу то есть XL Reports и для BCB и для Delphi - если нужно могу прислать
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32100140
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял человека интересовал вывод данных в Excel из его программы, а не построение отчетов...
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32100169
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод данных из программы в Excel это и есть построение отчетов!
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32100175
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не всегда.... вообще говоря Excel это не средство для построения отчетов... и вывод в него данных это возможно лишь для приведения к какомуто общему формату для третей программы, которой нужны эти данные... а тут отчетами и не пахнет... Если хотелось генератор отчетов прорекламировать, то это другое дело :))
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32101040
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Variant ex,wb,wb1,ws,ws1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ex = Variant::CreateObject("Excel.Application");
ex.OlePropertySet("Visible",true);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
wb=ex.OlePropertyGet("Workbooks");
// wb.OleProcedure("Add");
wb.OleProcedure("Open","d:\\temp\\book1.xls");
wb1=wb.OlePropertyGet("Item",1);
ws=wb1.OlePropertyGet("Worksheets");
ws1=ws.OlePropertyGet("Item",1);
ws1.OlePropertyGet("Cells").OlePropertyGet("Item",2,2).OlePropertySet("Value",777);
wb1.OleProcedure("SaveAs","d:\\temp\\book1.xls");
wb1.OleProcedure("PrintPreview");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
ex.OleFunction("Quit");
}
//--------------------
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32101616
гость3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_kyky, спасибо! То, что нужно.
Но где бы про это почитать?
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32102837
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В RAMBLER набери OlePropertyGet
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32106258
gr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gr
Гость
Я уже работаю с Excel, вот небольшая библиотека
//---------------------------------------------------------------------------
//Работа с Excel
//---------------------------------------------------------------------------
//Создаем объект по указанному файлу
TExcel::TExcel(AnsiString Path)
{
this->Path = Path;
//Загружаем форму
myExcel = NULL;
allWorkbooks = NULL;
myWorkbook = NULL;
myWorksheet = NULL;
myRange = NULL;

try
{
//Загрузка Excel
try
{
myExcel = Variant::GetActiveObject("excel.application");
}
catch( ... )
{
myExcel = Variant::CreateObject("excel.application");
}
OpenFile = true;

allWorkbooks = myExcel.OlePropertyGet("Workbooks");
Procedure Open("Open");

allWorkbooks.Exec(Open << Path);

myWorkbook = myExcel.OlePropertyGet("ActiveWorkbook");
myWorksheet = myWorkbook.OlePropertyGet("ActiveSheet");
}
catch( ... )
{
//Форма не найдена, или ошибочна. Оставляем
MyThrow::Throw("Не могу найти форму по умолчанию!");
}
}
//---------------------------------------------------------------------------
//Освобождаем файл
//С запросом о сохранении данных
TExcel::~TExcel()
{
if(OpenFile)
{
Close();
}
};
//---------------------------------------------------------------------------
//Закрытие файла с запросом
void TExcel::Close()
{
try
{
Procedure prClose("Close");

myWorkbook.Exec(prClose);
}
catch(Exception* E)
{
Application->ShowException(E);
}
OpenFile = false;
};
//---------------------------------------------------------------------------
//Закрытие файла с сохранением или без него
void TExcel::Close(bool SaveFile)
{
try
{
Procedure Close("Close");

myWorkbook.Exec(Close << SaveFile);
}
catch(Exception* E)
{
Application->ShowException(E);
}

OpenFile = false;
};
//---------------------------------------------------------------------------
//Заносим данные в Excel
void TExcel::SetValue(AnsiString Col, AnsiString Row, AnsiString Value)
{
PropertyGet Range("Range");
PropertySet SetValue("Value");
PropertySet SetFormula("Formula");

//Запись данных
Range.ClearArgs();
SetValue.ClearArgs();
myRange = myWorksheet.Exec(Range << (Col + Row));
myRange.Exec(SetValue << Value);
};
//В стиле R1C1
void TExcel::SetValue(int Col, int Row, AnsiString Value)
{
PropertyGet Cells("Cells");
PropertySet SetValue("Value");
PropertySet SetFormula("Formula");

//Запись данных
Cells.ClearArgs();
SetValue.ClearArgs();
myRange = myWorksheet.Exec(Cells << Col << Row);
myRange.Exec(SetValue << Value);
};
//---------------------------------------------------------------------------
//Читаем данные из Excel
AnsiString TExcel::GetValue(AnsiString Col, AnsiString Row)
{
PropertyGet Range("Range");
PropertyGet GetValue("Value");
PropertyGet GetFormula("Formula");

//Чтение данных
Range.ClearArgs();
myRange = myWorksheet.Exec(Range << (Col + Row));
return myRange.OlePropertyGet("Value");
};
//В стиле R1C1
AnsiString TExcel::GetValue(int Col, int Row)
{
PropertyGet Cells("Cells");
PropertyGet GetValue("Value");
PropertyGet GetFormula("Formula");

//Чтение данных
Cells.ClearArgs();
myRange = myWorksheet.Exec(Cells << Col, Row);
return myRange.OlePropertyGet("Value");
};
//---------------------------------------------------------------------------
//Устанавливает указанную страницу
void TExcel::WorkSheet(AnsiString Sheet)
{
PropertyGet Sheets("Sheets");

Sheets.ClearArgs();
myWorksheet = myWorkbook.Exec(Sheets << Sheet);
}
//---------------------------------------------------------------------------
//Устанавливает указанную страницу
void TExcel::WorkSheet(int Sheet)
{
PropertyGet Sheets("Sheets");

Sheets.ClearArgs();
myWorksheet = myWorkbook.Exec(Sheets << Sheet);
}
//---------------------------------------------------------------------------
//Печать
void TExcel::Print()
{
// Procedure PrintOut("PrintOut");

// myWorkbook.Exec(PrintOut);
Run("PrintDocument");
};
//---------------------------------------------------------------------------
//Выполняет макрос с заданным именем
void TExcel::Run(AnsiString Macros)
{
Procedure RunMacros("Run");

myExcel.Exec(RunMacros << Macros);
};
//---------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32106266
gr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gr
Гость
Когда использую данную компоненту если зати в редактирование (у меня Excel) после выхода остается не выгруженным Excel и лезут прочие глюки. Что делать?
Кстати если просто загрузить и выйти, то все ок.
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32106267
gr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gr
Гость
//Работа с Excel
class TExcel
{
private:
//Загрузка Excel
Variant myExcel;
Variant allWorkbooks;
Variant myWorkbook;
Variant myWorksheet;
Variant myRange;

//Путь к файлу
AnsiString Path;
//Файл открыт и в Destroy надо его закрыть
bool OpenFile;
public:
//Создаем объект по указанному файлу
TExcel(AnsiString Path);
//Освобождаем файл
//С запросом о сохранении данных
~TExcel();

//Заносим данные в Excel
void SetValue(AnsiString Col, AnsiString Row, AnsiString Value);
//В стиле R1C1
void SetValue(int Col, int Row, AnsiString Value);
//Читаем данные из Excel
AnsiString GetValue(AnsiString Col, AnsiString Row);
//В стиле R1C1
AnsiString GetValue(int Col, int Row);
//Устанавливает указанную страницу по названию или номеру строницы
void WorkSheet(AnsiString Sheet);
void WorkSheet(int Sheet);
//Возращаем путь к загруженному файлу
AnsiString GetPath(){return Path;};
//Печать
void Print();
//Выполняет макрос с заданным именем
void Run(AnsiString Macros);

//Закрыть файл
//Закрытие файла с запросом
void Close();
//Закрытие файла с сохранением или без него
void Close(bool SaveFile);
};
//---------------------------------------------------------------------------
...
Рейтинг: 0 / 0
Из Buildera в Excel ! А я не могу????
    #32106510
гость3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
or, cпасибо!
Я нечто подобное уже тоже наваял, но вот этого ниже у меня не было. А надо :)

//---------------------------------------------------------------------------
//Выполняет макрос с заданным именем
void TExcel::Run(AnsiString Macros)
{
Procedure RunMacros("Run");

myExcel.Exec(RunMacros << Macros);
};
//---------------------------------------------------------------------------
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Из Buildera в Excel ! А я не могу????
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]