用于从excel中选择可枢转数据的SQL语句?

时间:2016-06-24 11:57:41

标签: c# sql vb.net excel

我知道在VB .NET中有几种不同的方法可以从excel工作簿导入数据。第一种方法是加载excel dll作为引用,打开文件,然后从那里调出单元格/范围。我看到的第二种方法是使用公式化为SQL语句的查询,无需打开工作簿即可访问数据。

我对第二种方法感兴趣,我可以做得非常好,这里概述的很好:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim filepath As String = "C:\Users\wzcj9x\Desktop\database layout.xlsx"
    Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
           "Data Source=" & filepath & ";" & _
           "Extended Properties=""Excel 12.0;HDR=YES"";"

    '========================================================
    'Use a DataSet to read data from the InventoryData table.
    '========================================================
    Dim conn1 As New OleDbConnection(m_sConn1)
    Dim da As New OleDbDataAdapter("Select * From [Sheet1$]", conn1)
    Dim dt As DataTable = New DataTable
    da.Fill(dt)
    MsgBox(dt(0)(0).ToString)
    ' DataGridView1.DataSource = ds

    conn1.Close()
End Sub

现在我的问题是,有没有人知道如何通过像这样的查询方法从数据透视表中检索数据?我不想打开excel文件。查询方法很多更快,并且不会使资源停止。

我引用的数据透视表没有数据驻留在工作簿上的其他位置,这就是为什么它很棘手。这是其他人每天创建一次的文件,我相信他们会从其他地方填充数据。我知道如果双击数据透视表的右下角,它将生成一个新选项卡并显示数据,但这当然需要打开工作簿。

如果有人有任何建议,即使它不是一个完整的解决方案,我将不胜感激!我希望在vb .net中得到一个答案,但如果在C#中有一个答案,我想这也会有用;但是,我认为答案更多的是关于excel方面而不是编程语言。

更新

我真正需要的是确定从数据透视表中检索数据的正确SQL语句。

0 个答案:

没有答案