Получение данных из переменного числа столбцов в Excel с использованием Perl с OLE - PullRequest
0 голосов
/ 05 октября 2010

Я использую OLE с Perl для построения нескольких диаграмм в Excel. Данные представлены в четырех разных рабочих листах в зависимости от того, для какого из четырех тестов они предназначены. Проблема в том, что я не знаю, как настроить диаграмму для просмотра всех данных, когда я не знаю, как долго это будет.

Я знаю, чтобы использовать;

$last_col = $sheet -> UsedRange -> Find({What => "*", SearchDirection => xlPrevious, SearchOrder => xlByColumns}) -> {Column};

Чтобы получить последний столбец с данными в нем. Но я не могу пойти

my $Range = $Sheet->Range("a1:$last_col3");

Чтобы установить диапазон (очевидно)

Есть идеи, как установить диапазон для включения в последний столбец? Или лучше добавить каждый столбец в таблицу по отдельности?

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 октября 2010

Нет причин, по которым вы не сможете использовать

$sheet->range( "A1:${last_col}3" )

Это работает для меня.

0 голосов
/ 05 октября 2010

Хорошо, я нашел способ.Не уверен, насколько это хорошо, но это работает.

Вместо того, чтобы поместить переменную в значение диапазона, назовите последнюю интересную ячейку:

$sheet -> Cells ($last_row,$last_col) -> {Name} = "LastCell";

И затем используйте это вполе диапазона;

my $Range = $Sheet->Range("a1:LastCell");

Не самый элегантный код, который я когда-либо выполнял, но он работает.

...