2014-03-14 74 views
2

我試圖刪除從Excel空行使用的代碼刪除空行Excel工作表

Dim wb As New Workbook("d:\test\book1.xls") 
Dim sheets As WorksheetCollection = wb.Worksheets 
Dim sheet As Worksheet = sheets(0) 
sheet.Cells.DeleteBlankRows() 
wb.Save("d:\test\mybook.xls") 

但我正在逐漸語法error.Any人知道需要選用命名空間來做到這一點?

回答

0

嘗試

ApplicationClass excel = new ApplicationClass(); 
Microsoft.Office.Interop.Excel.Range cellToBeDeleted = (Range)excel.Cells[rowIndex, columnIndex]; 
cellToBeDeleted.Delete(); 

包括以下命名空間

using Excel = Microsoft.Office.Interop.Excel; 
+0

我需要刪除所有空行。如果行中有值的任何單元格,那麼我需要保留該行 – Cronaldo

0

嘗試這個 - 添加參考(從COM部分)Micsrosoft Excel對象庫到您的項目

Imports Microsoft.Office.Interop.Excel 

Public Class Form1 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    delBlankRows("d:\test\book1.xls", 1) 
End Sub 

Private Sub delBlankRows(ByVal excelFileName As String, sheetIndex As Integer) 
    Dim excel As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application 
    Dim fileName = excelFileName 
    Dim w As Workbook = excel.Workbooks.Open(fileName) 
    Dim r As Range = w.Worksheets(sheetIndex).UsedRange.EntireRow.SpecialCells(XlCellType.xlCellTypeBlanks) 
    r.Delete() 

    w.Save() 
    w.Close() 
End Sub 

End Class