Excel'e veri yazmak ve Excel'den veri okumak

76 views
Skip to first unread message

Duygu

unread,
May 25, 2011, 10:11:29 AM5/25/11
to Qt Türkiye
Merhaba herkese kolay gelsin.

Basit bir sorudur eminim, yine de ben halledemedim . Belki bir arkadaş
yardımcı olur.

Ben elimdeki verileri excel dosyasına yazmak istiyorum.İnternette
tonla örnek mevcut Ör:

QAxWidget *excel = new QAxWidget( "Excel.Application",0);
// excel->dynamicCall("SetVisible(bool)",true);
QAxObject *workbooks = excel->querySubObject("Workbooks");
QAxObject *workbook = workbooks->querySubObject( "Open(const
QString&)", "e:/tmp/test.xls" );
QAxObject *sheets = workbook->querySubObject( "Worksheets" );
int count = sheets->dynamicCall("Count()").toInt();
QStringList sheetsList;
for (int i=1; i<=count; i++)
{
QAxObject* sheet = sheets->querySubObject( "Item( int )", i );
QString name = sheet->dynamicCall("Name()").toString();
sheetsList.append(name);
}
workbook->dynamicCall("Close()");
excel->dynamicCall( "Quit()");


Ben QAxWidget ve QAxObject ktüphanelerini include etmeme rağmen,
bunları görmüyor Qt.. Bu neden olabilir? Fonksiyonlara erişebiliyorum
nesneyi oluşturduktan sonra. Ancak derleme sırasında;

C:\Documents and Settings\Administrator\fr/mainwindow.cpp:10:
undefined reference to `QAxWidget::QAxWidget(QString const&, QWidget*,
QFlags<Qt::WindowType>)'
C:\Documents and Settings\Administrator\fr/mainwindow.cpp:12:
undefined reference to `QAxBase::querySubObject(char const*, QVariant
const&, QVariant const&, QVariant const&, QVariant const&, QVariant
const&, QVariant const&, QVariant const&, QVariant const&)'
C:\Documents and Settings\Administrator\fr/mainwindow.cpp:13:
undefined reference to `QAxBase::querySubObject(char const*, QVariant
const&, QVariant const&, QVariant const&, QVariant const&, QVariant
const&, QVariant const&, QVariant const&, QVariant const&)'


vs vs vs..

Kerem Ulutaş

unread,
May 25, 2011, 10:13:46 AM5/25/11
to qttu...@googlegroups.com
kütüphanelerin yerini bildirdiğinizden ve projenize link edilmesi için kütüphane yolunu gösterdiğinizden emin misiniz? çünkü undefined reference hatası yanlış bilmiyorsam kütüphaneyi link etmediğinizde oluşur.

25 Mayıs 2011 17:11 tarihinde Duygu <duygu...@gmail.com> yazdı:

--
Qt Türkiye E-Posta Listesi
Yazılanlardan sadece yazan sorumludur...
Mesaj göndermek için qttu...@googlegroups.com
Listeden çıkmak için qtturkiye-...@googlegroups.com
Liste hakkında daha fazla bilgi için
http://groups.google.com/group/qtturkiye
Qt Türkiye: http://qt.comu.edu.tr



--

Blog'umu okudunuz mu? http://www.ulutas.gen.tr

The box said "Requires Windows 95, NT, or better", so I installed Linux.

Kerem Ulutaş

unread,
May 25, 2011, 10:14:28 AM5/25/11
to qttu...@googlegroups.com
header dosyalarının yerini ve dll ya da so kütüphanesini söylüyorum bu arada.. ikisini de kütüphane olarak nitelemişim :D

25 Mayıs 2011 17:13 tarihinde Kerem Ulutaş <kee...@gmail.com> yazdı:

Duygu

unread,
May 25, 2011, 10:27:46 AM5/25/11
to Qt Türkiye
Zaten include ederken kendisi görüyor kütüphaneleri, yeri de tüm qt
kütüphanelerinin olduğu dizinin altında. Başka birşey yapmam gerekiyor
mu?

On 25 Mayıs, 17:14, Kerem Ulutaş <keer...@gmail.com> wrote:
> header dosyalarının yerini ve dll ya da so kütüphanesini söylüyorum bu
> arada.. ikisini de kütüphane olarak nitelemişim :D
>
> 25 Mayıs 2011 17:13 tarihinde Kerem Ulutaş <keer...@gmail.com> yazdı:
>
>
>
>
>
> > kütüphanelerin yerini bildirdiğinizden ve projenize link edilmesi için
> > kütüphane yolunu gösterdiğinizden emin misiniz? çünkü undefined reference
> > hatası yanlış bilmiyorsam kütüphaneyi link etmediğinizde oluşur.
>
> > 25 Mayıs 2011 17:11 tarihinde Duygu <duygutek...@gmail.com> yazdı:
> > Blog'umu okudunuz mu?http://www.ulutas.gen.tr
>
> > The box said "Requires Windows 95, NT, or better", so I installed Linux.
>
> --
>
> Blog'umu okudunuz mu?http://www.ulutas.gen.tr
>
> The box said "Requires Windows 95, NT, or better", so I installed Linux.- Alıntıyı gizle -
>
> - Alıntıyı göster -

Kerem Ulutaş

unread,
May 25, 2011, 10:33:00 AM5/25/11
to qttu...@googlegroups.com
dosya olarak nerede durduğundan ayrı, dll yada so şeklindeki kütüphaneyi linker'a bildirmeniz gerekiyor. aşağıdaki bağlantıyı inceleyin:


tabi bu örnekte statik bir kütüphaneyi (.a dosyası) linker'a yollamış. bir de şöyle bir örnek var:


happy coding.. :)

25 Mayıs 2011 17:27 tarihinde Duygu <duygu...@gmail.com> yazdı:



--

Blog'umu okudunuz mu? http://www.ulutas.gen.tr

Türker Sezer

unread,
May 25, 2011, 11:50:00 AM5/25/11
to qttu...@googlegroups.com
2011/5/25 Duygu <duygu...@gmail.com>

Zaten include ederken kendisi görüyor kütüphaneleri, yeri de tüm qt
kütüphanelerinin olduğu dizinin altında. Başka birşey yapmam gerekiyor
mu?

QAxWidget ve QAxBase sembollerinin bulunduğu kütüphaneleri linker'a göstermelisin. Bunun da en kolay yolu .pro dosyasında kütüphanenin yolunu ve ismini belirtmen. .pro dosyasına aşağıdaki gibi ekleyebilirsin.

LIBS += -L</path/to/library/> -l<library_name>

Örneğin kütüphane adın libtest.so veya libtest.a olsun, .pro dosyasına eklemen gereken satır aşağıdaki gibi olacaktır.

LIBS += -L/usr/local/lib -ltest


--
Türker Sezer
Reply all
Reply to author
Forward
0 new messages