.net-导入excel文件并删除某些行
我希望上传一个excel文件,打开它,读取每一行,并可能删除该行,这取决于一个单元格是否包含某些值 我已经有上传工作:.net-导入excel文件并删除某些行,.net,vb.net,.net,Vb.net,我希望上传一个excel文件,打开它,读取每一行,并可能删除该行,这取决于一个单元格是否包含某些值 我已经有上传工作: Protected Sub ButtonUploadFile_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonUploadFile.Click If FileUploadExcel.HasFile Then Try
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
这是我所能得到的…但对其余的不完全确定
有什么想法吗
谢谢,我会尝试使用第三方库对您的excel进行解析。除非您需要通过COM接口访问它。。。 我不久前发现的库是开源的,它给了我足够的灵活性,可以在excel中完成我需要的工作。 查看库本身以及如何使用它的快速示例。 希望这有帮助。您可以使用
范围删除行(或列)
:
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()
不要在服务器上使用Excel Interop:它速度慢,容易“挂起”,Microsoft strongloy建议不要使用它。 当然,这看起来很“容易”,但它的可维护性太差了,以至于在未来几年里你都会头疼。 帮你自己一个忙,使用免费的EPPLus库,它可以更快地读取xlsx文件,而且使用起来更容易
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()