Цитата(master11 @ 10:04:2006, 15:24 )
слышал, что можна как-то через массивы работать
можно. вот набросок с одномерным массивом (не компилил, не проверял, но принцип должен быть понятен):
Variant values = VarArrayCreate(OPENARRAY(int, (0, 10)), varVariant);
for( int i=0; i < 10; i++ )
{
values.PutElement(TVariant(i*2), i);
}
Variant Cell1, Cell2;
Cell1 = XLSheet->Cells->get_Item(TVariant(5), TVariant(1));
Cell2 = XLSheet->Cells->get_Item(TVariant(5), TVariant(11));
XLSheet->get_Range(Cell1, Cell2)->set_Value( values );
для двумерного массива будет что-то типа
Variant values = VarArrayCreate(OPENARRAY(int, (0, 10, 0, 10)), varVariant);
for( int i=0; i < 10; i++ )
{
for( int j = 0; j < 5; j++ )
{
values.PutElement(TVariant(i*2 + j), i, j);
}
}
Variant Cell1, Cell2;
Cell1 = XLSheet->Cells->get_Item(TVariant(5), TVariant(1));
Cell2 = XLSheet->Cells->get_Item(TVariant(15), TVariant(11));
XLSheet->get_Range(Cell1, Cell2)->set_Value( values );
пробуй.