【发布时间】:2011-08-29 03:48:16
【问题描述】:
我想追加到 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;
【问题讨论】:
-
也许你想展示一些代码。
-
为什么?我要做的就是附加到两个平台上的文件并创建超链接以链接到其他工作表。我不知道现在使用什么代码,甚至不知道它是否可能。我会添加代码来展示我使用 win32::OLE 所做的事情,如果这有助于我猜?
标签: windows linux perl excel append