使用Powershell删除Excel中的前四行

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

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

尽pipeJet OLE DB提供程序允许您插入和更新Excel工作簿中的logging,但它不允许DELETE操作

你可以做的是使用Exel的COM接口来删除行。 记得也要释放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