Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI + MS EXCEL] Embedded MS EXCEL table - COM / OLE - Excel w dialogu

Ostatnio zmodyfikowano 2012-12-19 14:58
Autor Wiadomość
berkov
Temat założony przez niniejszego użytkownika
[WinAPI + MS EXCEL] Embedded MS EXCEL table - COM / OLE - Excel w dialogu
» 2012-12-18 15:40:04
Hey ho!

Umiem juz przy uzyciu ADO laczyc sie z MS Access / baza na MySQL i czytac oraz pisac w bazie danych (przy uzyciu SQL: Insert, Update oraz Select etc). Mowie to po to by zaznaczyc ze minimalne pojecie o COM juz mam.
Niemniej jednak nadszedl czas by to co zostalo wpisane do Accessa/MySQL zostalo rowniez w "ladny" i dostepny sposob uzytkownikowi wyswietlone - innymi slowy chcialbym by uzytkownik mogl zobaczyc piekna i kolorowa tabelke po kliknieciu slicznego guzika (obiecuje - moze byc rozowy)! :-)

Wiem ze do Microsoftu wiele sie nie chce przyznawac (wrecz sie nim brzydzi) ale niestety wiekszosc ludzi wlasnie w tym programie pracuje i chciala by miec mozliwosc albo eksportu albo przynajmniej podgladu w Excelu ktory razem z formatowaniem bedzie pozniej mozna np. skopiowac do schowka a pozniej do arkusza Excel.

Znalazlem nastepujacy artykul:
http://www.codeproject.com/Articles/34998/MS-Office-OLE-Automation-Using-C
Ale on opisuje jak otworzyc Excel (lub Word) i bezposrednio do Excela posylac zapytania, czyli pracujemy bezposrednio w programie MS Excel (lub Word) a nasza aplikacja to tylko cos a'la "pilota do telewizora".. sorry .. do excela :-)

Ja chce cos mniej sofistykowanego. Chce otworzyc Dialog w ktorym bede mial wyswietlony tylko Arkusz (bez wszystkich guzikow i funckji dostepnych w MS Excel) ktory wypelnie danymi (on the fly) podczas wyswietlania dialogu.

Jest to wogole mozliwe?

Jesli tak to czy taka tabelka (arkusz) w dialogu po skopiowaniu do Excela zachowa swoj format (kolor komorek, czcionki itd)?

Czyli reasumujac, potrzebuje:
- wytworzyc dialog z "kontrolka" tabelki Excel
- wypelnic ja danymi (np Acessa - choc to akurat w tym watklu nieistotne)
- odpowiednio sformatowac w formacie "zrozumialym" pozniej przez Excel
- miec mozliwosc skopiowania zawartosci tej "kontrolki" do schowka razem z formatem pozniej zrozumialym przez Excel (albo bezposredniego eksportu do Excel ktory otworzy nowy plik Excel i skopiuje tabelke)
- jesli "kontrolka" ta bylaby rowniez edytowalna (wystarczy tresc, bez formatowania) przez uzytkownika to bylo by wypasiscie. BTW, uzytkownik nie musi miec mozliwosci "zapisu" tej tabelki spowrotem w bazie danych bo to juz bardziej skompilkowane, chodzi tylko o "podglad"- wyswietlenie i potencjonalny eksport do Excel.

Sorry za przydlugawy watek! :-)

dzieki
b.
P-71371
DejaVu
» 2012-12-18 15:54:12
Niestety będziesz musiał trochę pogooglać. Swego czasu miałem trochę styczności z 'zanurzaniem' MS Worda w aplikacji, ale było to na tyle dawno, że jedyne co mogę zrobić to potwierdzić, że się da (no i dużo kodu trzeba napisać).
Frazy, które należy wpisać w wyszukiwarkę google:

http://support.microsoft.com/kb/216686
http://stackoverflow.com/questions/6030556/how-to-add-a-new-row-to-excel-file-using-unmanaged-c
http://msdn.microsoft.com/en-us/library/bb149081%28v=office.12%29.aspx
http://www.codeproject.com/Articles/13852/BasicExcel-A-Class-to-Read-and-Write-to-Microsoft

/edit:
Może jeszcze to pomoże: http://www.maths.manchester.ac.uk/~ahazel/EXCEL_C++.pdf (str. 58 i dalej)
P-71373
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-18 16:12:25
@DejaVu - Dzieki, to juz troche blizej tematu ale i tak wszystkie te artykuly (poza jednym ktory odnosi sie do Visual Basic a konkretnie Makra w Excelu - swoja droga strasznie fajna sprawa) odnosza sie do pracy na pliku xls. A ja potrzebuje cos a'la embeded tabelki w dialogu.. nigdzie tego nei moge znalezc.
P-71375
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-18 16:49:58
@DejaVu ... zmusiles mnie niechcacy do uzycia slowa "embedded" .. i wpisalem go rowniez w googlu..
wyskoczylo:
http://support.microsoft.com/kb/311546
a ja akurat mam Microsoft Visual Studio ... wiec zobacze w domu czy da sie dodac objekt Microsoft Excel rowniez w WinAPI a nie tylko w MFC..
P-71380
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-18 18:43:33
nie dziala... ten objekt dziala tylko w MFC.
... zaczyna mi brakowac wynikow w googlu! :-)
P-71385
DejaVu
» 2012-12-18 19:56:28
MFC to technologia napisana przy pomocy WinAPI, a więc możliwe jest również napisanie tego co chcesz w WinAPI. No ale niestety będziesz musiał dużo czasu na to poświęcić :) Lekką ręką wyceniłbym ten feature na 1-msc roboty :P
P-71389
berkov
Temat założony przez niniejszego użytkownika
» 2012-12-19 07:36:30
Szcerze powiedziawszy to mi sie tylko udalo dodac klase Excela ale co z tym dalej juz nie wiem, nie probowalem bo nie znam sie na MFC.
Naprawde nie ma jakiegos "Instant" sposobu ma embedded excel?? Nie to ze mi sie z tym spieszy ale przyznaje ze miesiac mnie troche przeraza.

P-71415
DejaVu
» 2012-12-19 07:39:48
Szybka metoda = znalezienie zaimplementowanego rozwiązania w postaci biblioteki. Większość implementacji prawdopodobnie będzie zrealizowana w oparciu o MFC z prostego powodu: osoby, które miały konieczność integrowania aplikacji z Excelem prawdopodobnie pracowały w jakiejś firmie, w której założeniem biznesowym było zrealizowanie danej funkcjonalności minimalnym nakładem pracy, a że MFC był chętnie używaną technologią w C++ to i takie rozwiązania można na necie znaleźć.

Tak w ogóle to być może samo osadzenie okna uda Ci się zrobić w tydzień/dwa, ale znając życie to potem będzie dziobanie przez kolejne dni pt. 'jak dorobić jakąś pierdołę' i tak dzień do dnia da Ci miesiąc roboty :)

A teraz offtopic:
Ja swego czasu chciałem zrobić sobie aplikację wykorzystującą deskbanda, ale bez ATL-a jest to po prostu droga przez mękę, więc odpuściłem sobie :P Walki z Excelem na poziomie WinAPI również mogą być katorgą, więc... szukałbym raczej gotowej implementacji na CodeProject lub czymś podobnym :)
P-71416
« 1 » 2
  Strona 1 z 2 Następna strona