2013-02-07 37 views
0

我正在尋找上傳一個excel文件,打開它並讀取每一行,並可能刪除該行,具體取決於如果一個單元格包含某些值。.net - 導入excel文件並刪除某些行

我已經上傳工作:

Protected Sub ButtonUploadFile_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonUploadFile.Click 
     If FileUploadExcel.HasFile Then 
      Try 
       FileUploadExcel.SaveAs(Server.MapPath("~/ExcelImport.xls")) 
       LabelUpload.Text = "Upload File Name: " & _ 
         FileUploadExcel.PostedFile.FileName & "<br>" & _ 
        "Type: " & _ 
        FileUploadExcel.PostedFile.ContentType & _ 
        " File Size: " & _ 
        FileUploadExcel.PostedFile.ContentLength & " kb<br>" 
      Catch ex As Exception 
       LabelUpload.Text = "Error: " & ex.Message.ToString 
      End Try 
     Else 
      LabelUpload.Text = "Please select a file to upload." 
     End If 
    End Sub 

所以我把它在瞬間被稱爲ExcelImport.xls

 Dim oExcelApp As Excel.Application = Nothing 
     Dim sFileName As String = "~/ExcelImport.xls" 

這是據我已經得到了...但不完全其他人肯定。

任何想法?

謝謝,

回答

0

我會嘗試使用第三方庫爲您的Excel解析。除非你有要求通過COM接口訪問它...... 我前一段時間發現的庫是開源的,它給了我足夠的靈活性,以便在Excel中做我所需要的。 查看this link圖書館本身以及如何使用它的快速示例。 希望這有助於。

0

您可以Range刪除行(或列):

Dim xlWorkBook As Excel.WorkBook = xlApp.Workbooks.Open(sFileName) 
Dim xlWS As Excel.WorkSheet = CType(xlWorkBook.Worksheets(sheet), Excel.Worksheet) 

Dim xRng As Excel.Range = CType(xlWS.Rows(rowIndex), Excel.Range) 
xRng.Delete() 
0

不要使用Excel互操作的服務器:它是緩慢,容易出現「掛起」和微軟strongloy反對這一提議。 當然,它看起來很「容易」,但它的可靠性非常糟糕,以至於在未來的幾年裏你會頭痛。 幫你一個忙,並使用免費的圖書館EPPLus,它可以更快地讀取xlsx文件的大小,並且使用起來更容易。

相關問題