PowerShell: 如何使用powershell处理Excel
序
“你要悄悄的學Python,然后驚艷所有人” 真的需要這樣嗎?現在我告訴你不用偷偷學Python,幾條powershell命令就夠了。
好久沒有寫博客了。之前本打算寫PowerShell的系列文章,但是正巧在這段時間啊,有一個之前的同學問我關于一個Excel處理的問題。同時他還向我咨詢了很多關于Python的一些知識啊。我還以為是他想轉行當程序員,但是后來經過深入的這個了解之后,發現原來他是在工作過程當中遇到了一些Excel處理上的一些小問題。這其中涉及到Excel里邊的一些分組啊排序啊,以及關鍵信息提取類似的一些操作。
作為一個PowerShell的老司機,我是知道怎么操作這個CSV的。
比如:使用 Import-csv 把數據導入內存中。
或者使用Export-CSV 把你計算的結果導出到CSV中。
但是對于Excel呢?PowerShell本身并沒有內置任何命令可以直接操作它。
好在我們所處的時代并不缺乏大神。一個叫 Doug Finke 的牛人在Github 上發起了一個叫 ImportExcel 的項目。我在無意中通過《Introducing the PowerShell Excel Module》1 發現了這個項目。
下面直接來干貨了:
Import-Excel 的前提條件
PowerShell V5 以及以上版本
并且安裝ImportExcel不需要先行安裝Excel,這點是不同于其它Excel相關的組件的。這樣他就可以運行在Windows服務器上并不需要安裝Excel。
安裝步驟
通過命令安裝
- 只為當前登陸用戶安裝(推薦)
- 為機器上所有用戶安裝,這個需要管理員權限
手動安裝
- 下載安裝包(.nupkg格式)
- 修改后綴名為 .zip
- 解壓之后把相關文件放到如下目錄中 C:\Program Files\WindowsPowerShell\Modules\ImportExcel\7.1.0
目錄如果不存在,創建之。版本號根據你自己下載的版本號創建。
創建好之后如下:
測試安裝是否成功
運行以下命令:
Get-Module -Name ImportExcel如果顯示以下結果說明安裝成功了。
小試牛刀
現在我們可以像生成 .csv 文件一樣生成 .xlsx 文件了。
#獲取當前目錄下面的所有文件/目錄并導出成Excel表格 # -show 自動打開,如果當前機器上安裝了Excel的話 Get-ChildItem . | Export-Excel c:\temp\files.xlsx -Show加個餅圖試一下
運行以下命令
Get-ChildItem | Where Extension | Export-Excel C:\temp\files1.xlsx -Show -PivotRows Extension -PivotData @{Extension="count"} -ChartType PieExploded3D# Where Extension 把沒有后綴名或者目錄排除掉 # -Show 導出之后直接打開Excel # -PivotRows Extension 和 -PivotData @{Extension="count"} 這兩個告訴Excel告訴代碼如何生成Pivot表(統計不同擴展名的文件的個數) # -ChartType 指定生成的餅圖的類型 為 PieExploded3D看下效果圖:
- 原始數據
- 生成的餅圖
怎么樣? 是不是高大上?搬磚的你是不是立馬想到了很多應用場景來解放你雙手?
感受妹子們崇拜的目光吧 哈哈哈
處理已有Excel數據
只要之前用過Import-csv 的同學應該很容易就能入手,語法簡直是一模一樣啊。
我們先讀取一下先前生成的表格試試:
$files=Import-Excel .\files.xlsx$files | ft -AutoSize -Property Name,FullName,Extension
然后我們對這個表格稍微作一下處理
結束語
平時日常生活中很多地方會用到Excel處理比如數據統計,財務處理,多個Excel表合并,定期報表導出等等
如果僅僅是為了這些去學Python,學習成本還是蠻高的尤其是對沒有任何變成經驗的人來說,而用PowerShell來處理可能就是幾條命令,最關鍵的是PowerShell現在是Windows內置的。
當然我在這里沒有褒貶PowerShell/Python的意思,對我來講適合自己的才是最好的。
我會定期更新PowerShell相關的系列文章幫你提高搬磚效率。
有什么需求的也可以直接私信我,我會把我所知道的分享給大家。
整理了部分近期發布的文章僅供大家參考:
Introducing the PowerShell Excel Module – Dr Script ??
總結
以上是生活随笔為你收集整理的PowerShell: 如何使用powershell处理Excel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python excel对比_Pytho
- 下一篇: win10 环境下Excel的MySQL