PowerShell实战:PowerShell使用ImportExcel模块轻松操作Excel

简介: 【2月更文挑战第13篇】


image.jpeg

一、介绍

ImportExcel模块可以理解为基于PowerShell环境操作Excel的强大类库,使用它可以在 Windows、Linux 和 Mac 上都可以使用。创建表、数据透视表、汇总、图表等操作变得更加容易。另外比较好的一点是使用该模块允许用户无需安装微软的 Office 或者使用 COM 对象就能直接操作 Excel 文件,这样对于没有安装office的服务器也可以直接使用。

功能介绍

Excel导入:通过 Import-Excel 命令,可以从 Excel 文件中导入数据到 PowerShell 中,转换成可以进一步处理的数据集(通常是以表格形式存在的 PSObject)。

Excel导出:利用 Export-Excel 命令,可以直接将 PowerShell 表格格式的数据输出到一个新的或已存在的 Excel 文件中,并且支持添加样式、冻结窗格、设置列宽等高级特性。

支持给Excel添加图表:还可以在 Excel 工作表中创建图表,例如柱状图、折线图等。

数据透视表:能够生成数据透视表并将其写入 Excel 文件中。

合并单元格与公式:支持对单元格进行合并和插入 Excel 公式。

跨平台:ImportExcel 不依赖于 Microsoft Office,可以在 Windows、Linux 和 macOS 上运行 PowerShell 时直接使用该模块。

二、安装模块

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

image.png


首先使用管理员运行Power Shell ISE 开发环境。

安装模块ImportExcel命令如下:

Install-Module -Name ImportExcel


注意事项:因为直接访问的是微软的网站,依赖包会比较慢,大概安装需要等几分钟。

三、操作示例

1、导出excel

脚本文件如下:

# 定义博客排名数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,90000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 导出为Excel文件 - Show 参数表示直接打开Excel文件
$BlogRankData | Export-Excel e:\blogRankData.xlsx -Show


把文件保存为psl文件,然后点击运行按钮


image.png


输出结果


image.png

2、 读取Excel数据


直接用变量名可以输出Excel数据,命令如下:


$BlogRankData

image.png


3、导出包含图表的Excel


脚本内容如下:


需要对图标进行定义,然后导出的时候指定展示图表。

#定义数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,120000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 图表定义
$chart = New-ExcelChartDefinition -XRange 博客名称 -YRange 访问量 -Title "博客访问量统计" -NoLegend
# 导出到Excel 包含图表
$BlogRankData | Export-Excel E:\blogRankChatData.xlsx -AutoNameRange -ExcelChartDefinition $chart -Show

image.png

点击运行按钮,直接打开Excel如下

image.png


4、导出包含汇总列和图表的Excel


包含 汇总列的话需要增加汇总列表的参数,具体直接看下面的案例:


#定义数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,120000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 导出为Excel文件
$BlogRankData | Export-Excel e:\blogRankPivotChatData.xlsx -AutoNameRange -Show -PivotRows 博客名称 -PivotData @{'访问量'='sum'} -PivotChartType PieExploded3D


点击运行按钮


image.png


运行效果


image.png

四、总结

以上是Powershell中ImportExcel模块的一些实际用法,大家有问题可以互相交流!

相关文章
|
1月前
|
Java Apache
EasyPOI操作Excel从零入门
我们不造轮子,只是轮子的搬运工。(其实最好是造轮子,造比别人好的轮子)开发中经常会遇到excel的处理,导入导出解析等等,java中比较流行的用poi,但是每次都要写大段工具类来搞定这事儿,此处推荐一个别人造好的轮子,EasyPOI封装了Apache的POI技术,实现了基本的Excel导入、导出从此不再为Excel操作头疼~
20 2
EasyPOI操作Excel从零入门
|
1月前
|
存储 数据处理 索引
Python操作Excel常用方法汇总
Python操作Excel常用方法汇总
34 0
|
2月前
|
API
Poi 中文API文档 「40种操作 Excel文件的姿势」
Poi 中文API文档 「40种操作 Excel文件的姿势」
121 0
|
4月前
|
存储 JSON 关系型数据库
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
Pandas载入txt、csv、Excel、JSON、数据库文件讲解及实战(超详细 附源码)
66 0
|
25天前
|
Python
python使用tkinter库,封装操作excel为GUI程序
python使用tkinter库,封装操作excel为GUI程序
|
1月前
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
1月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
PowerShell实战:Get-Item命令使用详解
【2月更文挑战第10篇】Get-Item 命令使用频率非常高,主要是获取位于指定位置的项。 一般搭配使用通配符 (*) 来获取项目的包含的项目。如果不使用*的话只是获取当前项的内容。
PowerShell实战:文件操作相关命令笔记
【2月更文挑战第9篇】cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。
|
3月前
|
缓存 Java 关系型数据库
Java使用POI操作Excel
Java使用POI操作Excel
34 0