Преобразование csv-файла в файл Multi tab xls (excel) с использованием perl

Я использую Perl-модуль WriteExcel для преобразования | текстовый файл с разделителями в файл xls, я использую код ниже, чтобы сделать это

#!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; # Create a new workbook and add a worksheet my $workbook = Spreadsheet::WriteExcel->new($filename); my $worksheet = $workbook->add_worksheet("Colorful Example"); open(FH,"<$my_path/source_file.txt") or die "Cannot open file: $!\n"; my ($x,$y) = (0,0); while (<FH>){ chomp; my @list = split /\t/,$_; foreach my $c (@list){ $worksheet->write($x, $y++, $c); } $x++; $y=0; } close(FH); $workbook->close(); # Close Workbook 

По этому коду я могу преобразовать файл в одну вкладку excel. Мне интересно, как можно преобразовать текстовый файл в файл multi tab xls (файл excel с несколькими рабочими листами), когда число строк превышает 65000.

Вы добавляете свой лист с этой строкой.

 my $worksheet = $workbook->add_worksheet("Colorful Example"); 

Что вам нужно сделать, это проверить в своем цикле, где вы обрабатываете строки, если вы превысили лимит линии, и если вы это сделали, замените дескриптор рабочего листа.

 $worksheet = $workbook->add_worksheet('foo') if $rows > 65_000; 
  • Perl - Файл не найден
  • Perl: чтение значения ячейки в виде строки, установленной через write_formula () с использованием модулей Excel
  • Проблемы с чтением файла .xls с использованием Perl Win32 :: OLE под Cygwin
  • Удаление пароля из таблицы Excel - пароль известен
  • Perl Excel OLE-> GetActiveObject get случайно застрял навсегда
  • Проблема в Excel SaveParser при добавлении данных
  • значение проверки существует в массиве perl и подстроке
  • Проблемы с чтением строки заголовка из файлов Excel 2007, созданных с помощью Perl
  • Чтение защищенного паролем XLSX на linux (и windows) с помощью Perl
  • Как указать каталог в качестве имени пути во время чтения файла Excel?
  • Как открыть текстовый файл с разделителями табуляции в Excel с помощью Perl и OLE?
  • Давайте будем гением компьютера.