1

我只想知道是否有任何方法可以使用 .bat 文件从 .xls 文件中读取值。例如:如果我有一个名为 test.xls 的 .xls,它有两列,即“EID”,然后是“邮件 ID”。现在,当我们向 .xls 输入 EID 名称时,它应该提取邮件 ID对应于 EID 并回显结果。

**EID**                  **MailID**
E22222                    MynameisA@company.com

E33333                    MynameisB@company.com

...
...

因此,通过上表,当我使用我的 .bat 文件作为 E22222 向 xls 文件输入输入时,它应该读取相应的邮件 ID 作为 MynameisA@company.com 并且它应该回显该值。

所以我希望我能够提出我的疑问。请回复我以获得更多说明。

感谢和问候麦迪

4

4 回答 4

3

无法直接使用传统.bat文件执行此操作。但是,您可能会调查PowerShell,它旨在能够执行此类操作。PowerShell 与现有的 Windows 应用程序(如 Excel)很好地集成,并且可以提供您轻松完成此操作所需的工具。

快速搜索发现了从 PowerShell 读取 Excel 文件的示例

于 2009-06-20T05:50:36.480 回答
2

您不能直接从批处理文件中执行此操作。此外,要在脚本中使用 Excel 文件,您需要安装 Excel。

您可以做的是将特定于 Excel 的内容包装在 VBScript 中,然后从您的批处理中调用它。

于 2009-06-20T07:14:52.793 回答
1

这在 BAT 中很难(非常接近不可能),尤其是在使用原始 XLS 文件时,但即使在导出为 CSV 之后,使用脚本/编程语言(Perl、C 等)会容易做到这一点.

于 2009-06-20T05:50:36.607 回答
1

您可以使用 Alacon - Alasql数据库的命令行实用程序来完成。

它适用于 Node.js,因此您需要安装Node.js,然后安装Alasql包:

要从 Excel 文件中获取数据,您可以使用以下命令:

> node alacon "SELECT VALUE [mail ID] FROM XLS('mydata.xls', {headers:true}) 
                   WHERE EID = ?" "E2222"

第一个参数是一个 SQL 表达式,它从带有标题的 XLSX 文件中读取数据,并搜索第二个参数值的数据:“E22222”。该命令返回邮件 ID 值。

于 2014-12-21T16:30:48.507 回答