2013-02-07 28 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文件的大小,并且使用起来更容易。

相关问题