0

私はExcelファイルをアップロードし、それを開いて各行を読み、1つのセルに特定の値が含まれているかどうかに応じてその行を削除しようとしています。

私はすでにアップロードが機能しています:

    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"

これは私が得た限りです...しかし、残りについては完全にはわかりません.

何か案は?

ありがとう、

4

3 に答える 3

0

私はあなたのExcel解析にサードパーティのライブラリを使用しようとします。COMインターフェイスを介してアクセスする必要がない限り...しばらく前に見つけたライブラリはオープンソースであり、Excelで必要なことを実行するのに十分な柔軟性を備えています。ライブラリ自体とその使用方法の簡単な例については、このリンクを確認してください。お役に立てれば。

于 2013-02-07T13:16:02.867 に答える
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()
于 2013-02-07T14:24:11.640 に答える
0

サーバーで Excel Interop を使用しないでください。これは遅く、「ハング」する傾向があるため、Microsoft は使用しないことを強く推奨しています。確かに「簡単」に見えますが、メンテナンス性が非常に悪いため、今後何年も頭痛の種になります。xlsx ファイルの大きさをより速く読み取ることができ、はるかに使いやすい無料のライブラリ EPPLus のようなものを使用してください。

于 2013-08-16T11:50:13.103 に答える