/ / WindowsとLinux上のPerlでExcelスプレッドシートに追加する - windows、linux、perl、excel、append

WindowsとLinux上のPerlでExcelスプレッドシートに追加する - windows、linux、perl、excel、append

Excelスプレッドシートに追加したい。 Win32 :: OLEはこれで完璧に動作しますが、Linuxマシンでは動作しません。Spreadsheet :: WriteExcelは、両方のプラットフォームで動作する間に追加できるようです。私はExcel :: Writer :: XLSXについて知ったが、それはスプレッドシートと同じくらい多くの機能を持っていないと報告している...

ハイパーリンクを作成したいので、テキストをクリックすると、Excelワークブックの別のシートに移動します。これは可能なのですか(Excelwriter / etc)ですか?

だから2つの質問: 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;

回答:

回答№1は0

これは部分的なものであり、無効な回答かもしれません。

オフィスにはオープンXML SDKを使用してください。 *のいずれか。xlsxファイルは実際には* .zipファイルであり、その中にはドキュメントを記述するxmlファイルが多数あります。 sdkを使用すると、スプレッドシートとワークブックをリンクすることができます。残念ながら、それはWindows上でのみ動作します... :(