Я хочу добавить в таблицу Excel. Win32::OLE отлично работает с этим, но не работает на машинах Linux. Spreadsheet::WriteExcel, похоже, не может добавлять, хотя он может работать на обеих платформах. Я узнал об Excel::Writer::XLSX, но он сообщает, что у него не так много функций, как у электронных таблиц...
Я также хотел бы создать гиперссылки, поэтому щелчок по тексту приведет вас к другому листу в книге Excel. Возможно ли это и на каком (Excelwriter/etc)?
Итак, два вопроса: 1) Что мне следует использовать, чтобы я мог добавлять в электронные таблицы, работая на обеих платформах? 2) Можно ли создавать гиперссылки для перехода на другие листы и через какой?
Вот код, который я использовал для Win32::OLE, добавляющий новый рабочий лист:
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
print "Opening Excel...\n";
$Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
#appending to existing excel file
my $book = $Excel->Workbooks->Open($full_name) || die "Error: Could not open Excel workbook";
#putting this sheet at the beginning
my $sheet = $book->Worksheets->Add({Before => $book->Worksheets(1)}) or die "Error: " . Win32::OLE->LastError;