gpt4 book ai didi

perl - 在 Perl 中自动处理 Excel 文件并避免对话框/UI 交互

转载 作者:行者123 更新时间:2023-12-02 08:22:44 24 4
gpt4 key购买 nike

如何保证通过 OLE 自动化 Microsoft Excel 时不会出现弹出对话框?我正在使用 Perl 模块 (Win32::OLE)。我可以使用以下代码避免大多数对话框弹出窗口:

use Win32::OLE;
use Win32::OLE::Variant;
use Win32::OLE::Const;

my $excel_symbols = Win32::OLE::Const->Load('Microsoft Excel');
my $excel = Win32::OLE->new('Excel.Application', sub { $_[0]->Quit();} );
$excel->{'Visible'} = 0;
$excel->{'DisplayAlerts'} = 0;
$excel->Workbooks->Open('c:\some_excel_file.xls',
{ 'UpdateLinks' => $excel_symbols->{'xlUpdateLinksNever'},
'ReadOnly' => 1,
'IgnoreReadOnlyRecommended' => 1
});

但是,对于某些文件,我继续收到包含以下文本的对话框:

This file is not a recognizable format.

  • If you know the file is from another program which is incompatible with Microsoft Excel, click Cancel, then open this file in its original application. If you want to open the file later in Microsoft Excel, save it in a format that is compatible, such as text format.
  • If you suspect the file is damaged, click Help for more information about solving the problem.
  • If you still want to see what text is contained in the file, Click OK. Then click Finish in the Text Import Wizard.

OK Cancel

有时会出现类似的对话框,其中包含“确定”、“取消”和“帮助”按钮。

我无法控制提供给脚本的文件的质量。

最佳答案

您可以考虑使用Spreadsheet::ParseExcel (尽管它可能缺少您需要的功能)或 Apache POI (尽管它需要一些包装才能在 Perl 脚本中使用)而不是通过 OLE 调用 Excel 引擎。这样您就不会看到任何 Excel 生成的对话框。

关于perl - 在 Perl 中自动处理 Excel 文件并避免对话框/UI 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/461869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com