),很多时候需要当客服给客人发送快递单号,这些单号都是由仓库打包人员每天统计在EXCEL里面发送给我的。比如,我有很多xlsx快递单号文档,格式大概是这样的650)this"/>

PowerShell 查询 Excel记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell 查询 Excel记录相关的知识,希望对你有一定的参考价值。

豆子的兼职是澳洲代购(提供澳洲直邮或者国内供货,需要的可以联系技术分享),很多时候需要当客服给客人发送快递单号,这些单号都是由仓库打包人员每天统计在EXCEL里面发送给我的。


比如,我有很多xlsx快递单号文档,格式大概是这样的

技术分享


有的时候,为了查找某个订单号,需要查看QQ聊记录找到对应的发货单记录 然后还得找到当天对应的EXCEL表格,非常麻烦,往往为了查询一个单号需要折腾2分钟。为了解决这个查找的问题,豆子用PowerShell写了个简单的脚本进行处理。


首先一个好消息是PS5已经有很多现成的Excel模块了,因此再也不用通过ComObject来配置EXCEL了。毕竟ComObject属于一种过时的技术,而Powershell是基于.Net开发的,微软本身并不推荐使用任何方式来自动化Office,而且不会支持因此而出现的各种bug。 


我使用的是下面这个模块,他的原理是调用.Net对应的dll文件,因此效率和稳定性都远远超过ComObject的对象。

https://www.powershellgallery.com/packages/ImportExcel/2.2.4


PowerShell5 里面可以直接下载安装, 安装之后就可以直接调用了。

 
Install-Module -name importExcel


基本思路很简单,递归地查询xlsx文件所在的目录,导入所有的文件,然后根据条件过滤即可。 非常简单的脚本 但是节省了我不少的时间。


脚本如下


function Get-DeliveryInfo
{
    [CmdletBinding()]
   
    Param
    (
        # Param1 help description
        
        [string]
        $user,
        [string]$path="c:\users\yli\Documents\出库记录\xlsx\*.xlsx",
        [string]$address="*"
     )
     begin{}
     process{
     
     
     $result=Get-ChildItem $path -recurse| Import-Excel|Where-Object {($_.姓名 -like "*$user*") -and ($_.地址 -like "*$address*")}
     
     
     
     }
     end{
     
     $result 
     }
}


比如说看看发往广西的姓陈的客户

技术分享

成功!


为了方便媳妇等非IT人士使用,我又做了个图像界面


技术分享



很开心能够利用简单的脚本解决自己生活中的实际问题。技术分享



本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1784014

以上是关于PowerShell 查询 Excel记录的主要内容,如果未能解决你的问题,请参考以下文章

PowerShell 给现有DNS记录创建PTR反向查询

通过 Powershell 插入 Excel 公式不起作用

EXCEL VBA 窗体设计,如何实现查询前一条记录和后一条记录的功能。

使用 Visual Basic SQL 查询的 Excel 在记录更改时删除公式

如何使用powershell以html格式保存excel 2007?

如何将 PowerShell 树输出到文本或 Excel 文件