日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

PowerShell: 如何使用powershell处理Excel

發(fā)布時(shí)間:2023/12/2 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerShell: 如何使用powershell处理Excel 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“你要悄悄的學(xué)Python,然后驚艷所有人” 真的需要這樣嗎?現(xiàn)在我告訴你不用偷偷學(xué)Python,幾條powershell命令就夠了。
好久沒(méi)有寫(xiě)博客了。之前本打算寫(xiě)PowerShell的系列文章,但是正巧在這段時(shí)間啊,有一個(gè)之前的同學(xué)問(wèn)我關(guān)于一個(gè)Excel處理的問(wèn)題。同時(shí)他還向我咨詢(xún)了很多關(guān)于Python的一些知識(shí)啊。我還以為是他想轉(zhuǎn)行當(dāng)程序員,但是后來(lái)經(jīng)過(guò)深入的這個(gè)了解之后,發(fā)現(xiàn)原來(lái)他是在工作過(guò)程當(dāng)中遇到了一些Excel處理上的一些小問(wèn)題。這其中涉及到Excel里邊的一些分組啊排序啊,以及關(guān)鍵信息提取類(lèi)似的一些操作。

作為一個(gè)PowerShell的老司機(jī),我是知道怎么操作這個(gè)CSV的。
比如:使用 Import-csv 把數(shù)據(jù)導(dǎo)入內(nèi)存中。

或者使用Export-CSV 把你計(jì)算的結(jié)果導(dǎo)出到CSV中。

但是對(duì)于Excel呢?PowerShell本身并沒(méi)有內(nèi)置任何命令可以直接操作它。

好在我們所處的時(shí)代并不缺乏大神。一個(gè)叫 Doug Finke 的牛人在Github 上發(fā)起了一個(gè)叫 ImportExcel 的項(xiàng)目。我在無(wú)意中通過(guò)《Introducing the PowerShell Excel Module》1 發(fā)現(xiàn)了這個(gè)項(xiàng)目。

下面直接來(lái)干貨了:

Import-Excel 的前提條件

PowerShell V5 以及以上版本
并且安裝ImportExcel不需要先行安裝Excel,這點(diǎn)是不同于其它Excel相關(guān)的組件的。這樣他就可以運(yùn)行在Windows服務(wù)器上并不需要安裝Excel。

安裝步驟

通過(guò)命令安裝

  • 只為當(dāng)前登陸用戶(hù)安裝(推薦)
Install-Module ImportExcel -scope CurrentUser
  • 為機(jī)器上所有用戶(hù)安裝,這個(gè)需要管理員權(quán)限
Install-Module ImportExcel

手動(dòng)安裝

  • 下載安裝包(.nupkg格式)
  • 修改后綴名為 .zip
  • 解壓之后把相關(guān)文件放到如下目錄中 C:\Program Files\WindowsPowerShell\Modules\ImportExcel\7.1.0
    目錄如果不存在,創(chuàng)建之。版本號(hào)根據(jù)你自己下載的版本號(hào)創(chuàng)建。
    創(chuàng)建好之后如下:

測(cè)試安裝是否成功

運(yùn)行以下命令:

Get-Module -Name ImportExcel

如果顯示以下結(jié)果說(shuō)明安裝成功了。

小試牛刀

現(xiàn)在我們可以像生成 .csv 文件一樣生成 .xlsx 文件了。

#獲取當(dāng)前目錄下面的所有文件/目錄并導(dǎo)出成Excel表格 # -show 自動(dòng)打開(kāi),如果當(dāng)前機(jī)器上安裝了Excel的話(huà) Get-ChildItem . | Export-Excel c:\temp\files.xlsx -Show

加個(gè)餅圖試一下

運(yùn)行以下命令

Get-ChildItem | Where Extension | Export-Excel C:\temp\files1.xlsx -Show -PivotRows Extension -PivotData @{Extension="count"} -ChartType PieExploded3D# Where Extension 把沒(méi)有后綴名或者目錄排除掉 # -Show 導(dǎo)出之后直接打開(kāi)Excel # -PivotRows Extension 和 -PivotData @{Extension="count"} 這兩個(gè)告訴Excel告訴代碼如何生成Pivot表(統(tǒng)計(jì)不同擴(kuò)展名的文件的個(gè)數(shù)) # -ChartType 指定生成的餅圖的類(lèi)型 為 PieExploded3D

看下效果圖:

  • 原始數(shù)據(jù)
  • 生成的餅圖

怎么樣? 是不是高大上?搬磚的你是不是立馬想到了很多應(yīng)用場(chǎng)景來(lái)解放你雙手?
感受妹子們崇拜的目光吧 哈哈哈

處理已有Excel數(shù)據(jù)

只要之前用過(guò)Import-csv 的同學(xué)應(yīng)該很容易就能入手,語(yǔ)法簡(jiǎn)直是一模一樣啊。

我們先讀取一下先前生成的表格試試:

$files=Import-Excel .\files.xlsx$files | ft -AutoSize -Property Name,FullName,Extension


然后我們對(duì)這個(gè)表格稍微作一下處理

$files | %{ $_.Extension="$($_.Extension).txt"; $_ } | Export-Excel c:\temp\files-processed.xlsx -Show

結(jié)束語(yǔ)

平時(shí)日常生活中很多地方會(huì)用到Excel處理比如數(shù)據(jù)統(tǒng)計(jì),財(cái)務(wù)處理,多個(gè)Excel表合并,定期報(bào)表導(dǎo)出等等
如果僅僅是為了這些去學(xué)Python,學(xué)習(xí)成本還是蠻高的尤其是對(duì)沒(méi)有任何變成經(jīng)驗(yàn)的人來(lái)說(shuō),而用PowerShell來(lái)處理可能就是幾條命令,最關(guān)鍵的是PowerShell現(xiàn)在是Windows內(nèi)置的。
當(dāng)然我在這里沒(méi)有褒貶PowerShell/Python的意思,對(duì)我來(lái)講適合自己的才是最好的。

我會(huì)定期更新PowerShell相關(guān)的系列文章幫你提高搬磚效率。
有什么需求的也可以直接私信我,我會(huì)把我所知道的分享給大家。

整理了部分近期發(fā)布的文章僅供大家參考:

  • 為什么大神們的文章看起來(lái)那么酷?除了寫(xiě)的好還使用了生動(dòng)的動(dòng)圖(gif)。一款【免費(fèi)】的動(dòng)圖工具screentogif了解一下
  • Powershell:使用PSCustomObject,序列化執(zhí)行結(jié)果
  • PowerShell: 為啥大神們的PowerShell窗口還有智能提示?因?yàn)樗O(shè)置了這個(gè)
  • PowerShell: 遠(yuǎn)程管理除了知道Invoke-Command,還應(yīng)該掌握Enter-PSSession這個(gè)命令
  • PowerShell: RDP管理服務(wù)器效率低下,使用invoke-command同時(shí)維護(hù)多臺(tái)服務(wù)器不再難
  • PowerShell:用原生PowerShell就能解決訪問(wèn)web資源時(shí)的ADFS認(rèn)證問(wèn)題
  • PowerShell:不需要學(xué)Python,使用powershell也能處理Excel提高辦公效率
  • PowerShell:作為一個(gè)PowerShell菜鳥(niǎo),如何快速入門(mén)?掌握這些就夠了

  • Introducing the PowerShell Excel Module – Dr Script ??

  • 總結(jié)

    以上是生活随笔為你收集整理的PowerShell: 如何使用powershell处理Excel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。