excel - 选择 Excel 行 --> 从条目创建哈希表
问题描述
我有一个 Excel .xlsx 文件,如下所示:
现在我想创建一个 PowerShell 脚本,它可以执行以下操作:
- 询问用户他想使用哪一行(例如4)
- 使用这些条目创建一个哈希表
哈希表应如下所示:
名称 值 ---- ----- 简·多伊的名字 67 岁 格雷斯街 19 号 邮政编码 12345 日期 03.03.2013
有人知道我怎么能做到这一点吗?
另外:这实际上可以通过 xlsx 文件实现,还是我需要使用 CSV 文件?
解决方案
首先,如果我们将 xls 转换为 csv 是可以实现的:
$excelFilePath = "C:\Temp\abc.xlsx"
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Excel.DisplayAlerts = $false
$Workbook = $excel.Workbooks.Open($excelFilePath)
$($Workbook.Worksheets | where {$_.Name -eq "Sheet1"}).SaveAs("C:\Temp\abcd.csv", 6)
$Excel.Quit()
我建议使用 ID 而不是行号:
$importedAbcd = Import-Csv -Path "C:\Temp\abcd.csv" -Delimiter ";"
[int]$answer = Read-Host "Select ID to work with"
$object = $importedAbcd | Where-Object {$_.ID -eq $answer}
您现在将行转换为哈希:
$hash = @{}
$object.psobject.properties | Foreach { $hash[$_.Name] = $_.Value }
推荐阅读
- firebase - 为什么在传递多个字段时在firebase中创建新文档时只设置一个字段?
- react-native - 如何使用 wix 的 react-native-navigation popTo()?
- python - 超级简单的 if+elif+else 语句不起作用
- python - 如何在自动编码器中拆分编码器和解码器?
- html - CSS不能选择一个元素但选择其他元素
- rust - rust中如何使用epoll
- bash - 使用 wc 计算文本文件中的多个字符 -
- python - QGraphicsTextItem 接收按键
- docker - 具有运行时参数的 Dockerfile 入口点未按预期工作
- node.js - 我的 POST API 路由执行延迟?