上传Excel文件并提取数据 - asp.net mvc 3

9

我想知道如何从一个2007年的Excel文件中提取数据?我正在使用asp.net mvc 3。我的计划是有一个上传部分,你选择一个文件并点击上传。之后我不知道它将是什么格式或者我需要做什么来提取值。

谢谢

4个回答

12

非常易于使用,而且还有一个NuGet包。 - Kevin LaBranche

4
使用DataAdapter和OleDB连接来读取Excel电子表格是我认为最简单的方法,如code project sample所示。好处在于它不依赖于COM或MS Office库。

3

1

我曾经使用过NPOI,它非常简单易用:

Using Xlfile As FileStream = New FileStream(FileName, FileMode.Open, FileAccess.Read)
    Using XLBook As HSSFWorkbook = New HSSFWorkbook(Xlfile)
        Using XLSheet As NPOI.SS.UserModel.Sheet = XLBook.GetSheetAt(0)

            Dim CurrentRow As NPOI.HSSF.UserModel.HSSFRow
                        Dim CurrentCell As NPOI.SS.UserModel.Cell
                        Dim RowEnum As IEnumerator = XLSheet.GetRowEnumerator()

            While RowEnum.MoveNext
                          If (RowEnum.Current IsNot Nothing) Then
                              CurrentRow = TryCast(RowEnum.Current, NPOI.HSSF.UserModel.HSSFRow)
                    Select Case CurrentCell.CellType
                        Case NPOI.SS.UserModel.CellType.STRING
                            ' CurrentCell.StringCellValue
                        Case NPOI.SS.UserModel.CellType.NUMERIC
                            ' CurrentCell.NumericCellValue.ToString()
                    End Select
            End While
        End Using
    End Using
    Xlfile.Close()
End Using

我在查看资料时发现了一个叫做“Excel package”的东西,http://excelpackage.codeplex.com/ 你知道他们是否还在开发这个吗? - chobo2
@chobo2:是的,我几年前尝试过那个,但后来放弃了,因为似乎该项目已被放弃。我建议你尝试NPOI,因为它非常简单且有效。它可以读写所有版本的Excel。 - LeftyX
@LeftyX:在NPOI中有没有一种方法可以获取Excel表格中的所有图表。 - Pankaj Agarwal
@PankajAgarwal:恐怕我无法提供帮助。我从未做过这样的事情。不管怎样,我建议您开一个新问题。 - LeftyX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接