使用Powershell删除Excel中的前四行

时间:2013-04-29 18:11:50

标签: excel powershell row

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

1 个答案:

答案 0 :(得分:8)

您无法使用OleDB从Excel文档中删除数据。根据{{​​3}}文件说明:

  

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

您可以使用Exel的COM接口删除行。还记得MSDN对象。像这样,

$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