perl - 从另一个 Xlsx 文件中读取 Xlsx
问题描述
我有几个 Xlsx 文件,比如 X.xlsx、Y.xlsx、Z.XLSX,我将这三个 Xlsx 文件保存在另一个 xlsx 文件中,比如 A.xlsx。现在我想通过A.xlsx一次准备好三个xlsx文件(x,y,z)中的内容。
谁可以帮我这个事。
提前致谢
解决方案
如果您的目标计算机也安装了 Microsoft Excel,这在 Windows 上很容易。
使用Win32::OLE模块创建 Excel 实例,打开主文件A.xlsx
,然后遍历其->{OLEObjects}
属性:
#!perl
use strict;
use warnings;
use Win32::OLE 'in';
$ex = Win32::OLE->new('Excel.Application') or die "oops\n";
my $Axlsx = $ex->Open('C:\\Path\\To\\A.xlsx');
my $i=0;
for my $embedded (in $Axlsx->OLEObjects) {
$embedded->Object->Activate();
$embedded->Object->SaveAs("test$i++.xlsx");
$embedded->Object->Close;
}
保存后,您可以将它们视为普通的 Excel 文件。或者,您可以直接与 合作$embedded->Object
,但由于您没有告诉我们您究竟需要做什么,因此很难给出具体建议。
推荐阅读
- three.js - 地板上的阴影在 three.js v104 中不起作用,但在 r71 中起作用
- algorithm - +1 在硬币找零问题的递归关系中意味着什么(动态规划方法)?
- node.js - 使用 Node 中的单个流将多个输入文件传递给 ffmpeg
- docker - 使用端口暴露映射连接本地主机中的两个 docker 实例
- xslt - BizTalk 映射抑制目标中的空属性
- php - 无法将 phpredis 与 Docker 一起使用。找不到 Redis 类
- netsuite - 如何延长netsuite中第三方URL的响应时间?即,避免大型请求的 SSS_REQUEST_TIME_EXCEEDED
- android - 有没有办法为日历视图中选择的每个日期保存不同的活动实例?
- azure-language-understanding - 删除的话语是否会影响 LUIS 话语配额?
- reactjs - 有没有一种简单的方法来使用 Apollo Client 2.5 for React 管理本地状态?与“client.writeData”等效的“读取”是什么?