Как использовать функцию Excel Union через Win32 :: OLE? - PullRequest
1 голос
/ 04 февраля 2012

Я использую Win32 :: OLE для создания диаграмм из таблицы Excel в MSExcel 2010. Данные не находятся в последовательных столбцах, и у меня есть ds, имеющий диапазон каждого из данных. Я пытаюсь объединить все эти диапазоны данных в один объект диапазона, как:

my $range = $self->{'workbook'}->Application->Union( $range, $r );

Работает нормально, до "$ BS $ 1: $ BS $ 168". Следующие данные находятся в диапазоне "$ BW $ 1: $ BW $ 168". Этот диапазон не объединяется с предыдущим диапазоном, и у меня осталось только 18 собранных данных вместо 46.

В чем может быть причина и обходной путь? Есть ли ограничение на количество серий, которые вы можете собрать?

1 Ответ

0 голосов
/ 04 февраля 2012

Согласно этой теме существует ограничение 255 длины адреса, включая все знаки препинания. Ваш примерный диапазон составляет 13 символов плюс один для разделителя, что дает максимум около 18 элементов.

Вывод заключается в ограничении количества предметов или их длины. Не могли бы вы объединить несколько столбцов ($BS$1:$BW$168) или оставить, например, $ s?

...