我有文件夹,其中有数字作为文件夹的名称,一张新的excel 表和一张主excel 表,其中包含与文件夹名称相关的信息。所以我有一个要求,比如1)我必须从主excel表中一个一个地获取文件夹名称,如果它在excel表中找到名称,它应该获取该单元格的整行内容并将其粘贴到新的excel中床单。就像它应该获取所有文件夹一样。
2 回答
批处理不是一种很好的编程语言。Unix BASH shell 只是把它留在了尘埃中。它从来没有真正被设计为设置环境或启动一些基于 DOS 的程序的方法。尽管自 Windows 出现以来 Batch 中已经添加了一些内容,但感觉微软很久以前就放弃了它。
但是,每台 Windows PC 都内置了一种功能极其强大且面向对象的脚本语言,称为PowerShell。PowerShell 不仅功能强大,而且可以轻松与 包括 Excel 在内的任何Microsoft Office 文档进行交互。
PowerShell 只有一个小问题:没有人知道。
几年前,我在一个基于 Windows 的办公室,如果文件没有更新(三个不同的警报级别),他们需要发送电子邮件警报。好吧,这对 Python 或 Perl 都没有问题。不应该花费我超过几个小时的时间来拼凑一些东西。
出于安全原因,他们不想在他们的系统上安装 Python 或 Perl 或其他任何东西。那是我转向 PowerShell 的时候。
PowerShell 做到了。它可以做 Python 或 Perl 可以做的任何事情,虽然它的语法有点奇怪,但它非常一致。然而,这个项目被证明是一次孤独的跋涉。尽管 Powershell 在 Windows 世界中无处不在且功能强大,但很少有人知道或使用它。从那以后我就没有接触过 PowerShell。
如果在 Perl 和 Batch 之间进行选择,请选择 Perl。Perl 模块Spreadsheet::ParseExcel会做你想做的事。
但是,如果您在 Windows 世界中,并且与大量 Microsoft Office 文档进行交互,那么学习 PowerShell 是值得的。
- CPAN 中有很多用于读写 Excel 的模块,但没有一个是完美的。
- 如需更多功能,您可以使用 Python 来控制 OfficeLibre。
- 如果您不介意 Google,您可以使用Google Drive API上传、操作、创建和导出文件。
- 如果您需要比这更好的 Excel 支持,那么您会被 VB 或 Excel 中的宏所困。