【问题标题】:Powershell and Excel sheet automationPowershell 和 Excel 工作表自动化
【发布时间】:2017-06-08 20:23:03
【问题描述】:

我正在尝试使用 powershell 创建一个自动化流程来导入我拥有的 csv,并自动化我每月生成的报告。我刚刚开始,这就是我所拥有的。

$excel = New-Object -ComObject excel.application
$wb = $excel.Workbooks.Open("U:\Local Group Members.csv")
$excel.visible=$true
$excel.DisplayAlerts = $false
$sheet =$book.worksheets.items(1)
$sheet.name = 'Local Group Memb'
$sheet.Activate() | Out-Null
$sheet.Rows.Item(1).Font.Bold = $true
$wb.Save()
$excel.Quit()

我刚试过这个,它给了我这个错误。Error I receive

如何将第一行加粗?

【问题讨论】:

  • 要么循环单元格,要么使用 Range 代替 Cells.Item

标签: excel powershell csv


【解决方案1】:

$sheet =$book.worksheets.items(1)

去掉items中的s

将 $book 替换为 $excel

$sheet =$excel.worksheets.item(1)

$excel = New-Object -ComObject excel.application
$wb = $excel.Workbooks.Open("C:\Temp\Local Group Members.csv")
$excel.visible=$true
$excel.DisplayAlerts = $false
$sheet =$excel.worksheets.item(1)
$sheet.name = 'Local Group Memb'
$sheet.Activate() | Out-Null
$sheet.Rows.Item(1).Font.Bold = $true
$wb.Save()
$excel.Quit()

【讨论】:

    【解决方案2】:

    我认为你在正确的轨道上,你只需要添加:

    $wb.Save()
    $excel.Quit()
    

    我还建议只将第一行加粗,除非那太多了。

    $sheet.Rows.Item(1).Font.Bold = $true
    

    【讨论】:

      猜你喜欢
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多