How to pass array objects to QAxObject property (Excel)? [SOLVED]
-
wrote on 17 Feb 2014, 12:43 last edited by
To be specific, I'm trying to set an Excel.Range.Value property using a QVariantList but all the time I get the same values in all of the cells inside Excel sheet. It only takes the first item out of my QVariantList and fills all of the cells with that same value.
Any ideas?
-
wrote on 18 Feb 2014, 14:56 last edited by
You have to create a QVariant, which is actually a QList<QList<QVariant> >
I did it the following way:
@
QStringList row1;
row1<<"asdf"<<"asdf";
QList<QVariant> varlist;
varlist.append(QVariant(row1));xls.selectRange(1,1, rowCount, columnCount);
xls.setValue(QVariant(varlist);
@ -
wrote on 19 Feb 2014, 09:04 last edited by
Wow it worked! Thanks for this GREAT tip :) Owe you a beer.
In my case it was a column instead of row so I did something like this:
@
QVariantList varlist;
for(.. some loop ..)
{
// do things
QStringList item;
item << someItem;
varlist.append(item);
}and later on ...
excel.setValue(QVariant(varlist));
@
I assume the same method can be used for ranges with diff with and height.
3/3