我想在PowerShell中使用excel数据做一些棘手的事情。我在excel表中有下表。
我想使用PowerShell从该表中读取数据并进行简单的计算。例如,if ($Reader = Seafreight) {$Result = $TransportE * $CO2footprint}
但我不知道如何将excel数据作为变量导入PowerShell。
有什么想法吗?
答案 0 :(得分:1)
我就是这样做的:
首先将以下函数放入Powershell配置文件中,这将为您提供一个始终可用的Get-Clipboard cmdlet。
function Get-Clipboard([switch] $Lines) {
if($Lines) {
$cmd = {
Add-Type -Assembly PresentationCore
[Windows.Clipboard]::GetText() -replace "`r", '' -split "`n"
}
} else {
$cmd = {
Add-Type -Assembly PresentationCore
[Windows.Clipboard]::GetText()
}
}
if([threading.thread]::CurrentThread.GetApartmentState() -eq 'MTA') {
& powershell -Sta -Command $cmd
} else {
& $cmd
}
}
然后您只需要从Excel复制表格(确保每列都有一个标题),然后在Powershell控制台中输入以下内容:
$data = Get-Clipboard | ConvertFrom-Csv -Delimiter "`t"
$data