如何在vb.net中不安装office处理excel文件

如何在vb.net中不安装office处理excel文件,vb.net,excel,ms-office,Vb.net,Excel,Ms Office,我对VB.net相当陌生,从未用它来处理Office文件。 现在我必须查看Excel文件,并根据单元格中的数据发送一些电子邮件。我不需要向这些文件写入任何内容。 到目前为止,我已经读了很多关于PIA的书,到目前为止,我似乎必须为特定的Office版本设计我的应用程序? 有没有一种方法可以编写可以处理不同版本MS Excel创建的文件的应用程序? 我希望能够在计算机上不安装Office的情况下处理这些文件,有什么办法吗?您可以使用 哪些不需要excel 您可以使用OpenXMLSDK2.0

我对VB.net相当陌生,从未用它来处理Office文件。 现在我必须查看Excel文件,并根据单元格中的数据发送一些电子邮件。我不需要向这些文件写入任何内容。 到目前为止,我已经读了很多关于PIA的书,到目前为止,我似乎必须为特定的Office版本设计我的应用程序? 有没有一种方法可以编写可以处理不同版本MS Excel创建的文件的应用程序? 我希望能够在计算机上不安装Office的情况下处理这些文件,有什么办法吗?

您可以使用

  • 哪些不需要excel


  • 您可以使用OpenXMLSDK2.0 for MicrosoftOffice

    从excel文件获取数据不需要安装Office

    但若要从EXCEL文件获取数据,必须在本地计算机和服务器上安装OLEDB驱动程序(若应用程序托管在服务器上)

    您可以从下载OLEDB驱动程序

    完成此代码后,您将在数据集中获得excel工作表数据

    此代码可能会帮助您从excel文件中获取数据


    (注意:此代码在vb.net中)

    您需要支持哪些格式?Excel能做什么?只有某些版本的Excel?请记住,旧版本仅使用XLS格式,它本质上是Excel内部数据结构的二进制转储。在不重写Excel的情况下解析它将非常困难。较新版本使用XLSX格式,基本上是包含XML文件的ZIP文件。如果您能保证它是您将收到的唯一输入,那么解析起来就容易多了。+1表示EPPlus。这是我使用的主要图书馆。我发现它很容易使用,而且它做了我需要的大部分事情。它没有我在OLEDB驱动程序中遇到过的性能问题。因为我需要处理.xls文件,所以我决定使用excellibrary,到目前为止它工作得很好。曾考虑使用NPOI,但在某个地方读到它不太“用户友好”,可能会给下一个项目带来机会。
     con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + YourEXCELFilePath + ";Extended Properties=Excel 12.0;")
    
    con.Open()
    atatable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
    sheetname = datatable.Rows(0)("table_name").ToString
    excelcomm = New OleDbCommand("select * from [" + sheetname + "]", con)
    adexcel = New OleDbDataAdapter(excelcomm)
    adexcel.Fill(Dataset)