【问题标题】:Delete first four rows in Excel with Powershell使用 Powershell 删除 Excel 中的前四行
【发布时间】:2015-07-05 04:10:20
【问题描述】:

我有一个 powershell 脚本,可以打开一个 excel 文件,重新分配一个空白密码,然后保存文件。我想在脚本中添加一个任务,以便在保存之前删除 excel 文件的前 4 行。

【问题讨论】:

    标签: excel powershell row


    【解决方案1】:

    您不能使用 OleDB 从 Excel 文档中删除数据。根据MSDN 文档:

    虽然 Jet OLE DB 提供程序允许您插入和更新 Excel 工作簿中的记录,它不允许 DELETE 操作

    您可以做的是使用 Exel 的 COM 接口来删除行。记得也要release COM 对象。像这样,

    $file = c:\temp\MyExcelFile.xls
    # Star Excel, hide window
    $excel = new-object -com Excel.Application -Property @{Visible = $false} 
    $workbook = $excel.Workbooks.Open($file) # Open the file
    $sheet = $workbook.Sheets.Item(1) # Activate the first worksheet
    [void]$sheet.Cells.Item(1, 1).EntireRow.Delete() # Delete the first row
    
    $workbook.Close($true) # Close workbook and save changes
    $excel.quit() # Quit Excel
    [Runtime.Interopservices.Marshal]::ReleaseComObject($excel) # Release COM
    

    【讨论】:

    • 嗨,完美,TY!您是否知道如何在同一个脚本中使用动态文件名...以“mmddyyyy”结尾?
    • 您应该将有关动态文件名的部分作为其自身的问题发布。提供有关名称将如何更改以及删除第一行后应如何处理文件的更多信息。
    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2021-10-08
    • 2018-08-13
    • 1970-01-01
    相关资源
    最近更新 更多