首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阅读Powershell中的Excel表格

阅读Powershell中的Excel表格
EN

Stack Overflow用户
提问于 2013-10-06 17:20:12
回答 5查看 146.1K关注 0票数 18

下面的脚本读取Excel文档的工作表名。

我如何改进它,以便它能够提取每个工作表中B列的所有内容(从第5行开始--因此忽略第1-4行)并创建一个对象?

例如,如果工作表1(称为伦敦)中的B列具有以下值:

代码语言:javascript
运行
复制
Marleybone
Paddington
Victoria
Hammersmith

工作表2中的C列(称为诺丁汉)具有以下值:

代码语言:javascript
运行
复制
Alverton 
Annesley
Arnold
Askham

我想要创建一个类似于这样的对象:

代码语言:javascript
运行
复制
City,Area
London,Marleybone
London,Paddington
London,Victoria
London,Hammersmith
Nottingham,Alverton 
Nottingham,Annesley
Nottingham,Arnold
Nottingham,Askham

到目前为止,这是我的代码:

代码语言:javascript
运行
复制
clear all

sheetname = @()

    $excel=new-object -com excel.application
    $wb=$excel.workbooks.open("c:\users\administrator\my_test.xls")
    for ($i=1; $i -le $wb.sheets.count; $i++)
    {
      $sheetname+=$wb.Sheets.Item($i).Name;
    }

$sheetname
EN

Stack Overflow用户

发布于 2018-07-13 15:38:37

当我试图使用Excel电子表格作为源代码自动化Cisco SIP电话配置时,这对我非常有帮助。我唯一的问题是,当我试图创建一个数组并使用$array | Add-Member ...填充它时,我需要稍后使用它来生成配置文件。只要定义一个数组并使它成为for循环,就可以正确地存储。

代码语言:javascript
运行
复制
$lastCell = 11 
$startRow, $model, $mac, $nOF, $ext = 1, 1, 5, 6, 7

$excel = New-Object -ComObject excel.application
$wb = $excel.workbooks.open("H:\Strike Network\Phones\phones.xlsx")
$sh = $wb.Sheets.Item(1)
$endRow = $sh.UsedRange.SpecialCells($lastCell).Row

$phoneData = for ($i=1; $i -le $endRow; $i++)
            {
                $pModel = $sh.Cells.Item($startRow,$model).Value2
                $pMAC = $sh.Cells.Item($startRow,$mac).Value2
                $nameOnPhone = $sh.Cells.Item($startRow,$nOF).Value2
                $extension = $sh.Cells.Item($startRow,$ext).Value2
                New-Object PSObject -Property @{ Model = $pModel; MAC = $pMAC; NameOnPhone = $nameOnPhone; Extension = $extension }
                $startRow++
            }

我以前在添加成员的数组中添加信息没有问题,但那是在PSv2 2/3中出现的,我已经离开它一段时间了。虽然简单的解决方案拯救了我手动配置100+手机和扩展--但没有人愿意这样做。

票数 3
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19211632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档