Ich habe eine Pivot-Tabelle, die ich programmatisch über Python neu erstellen möchte. Gibt es eine Möglichkeit, den aktuellen SQL-Code der Pivot-Tabelle zu erhalten, damit ich ihn in Python verwenden kann?So erhalten Sie den SQL-Code aus einer Excel 2007 PivotTable
1
A
Antwort
2
Ich schrieb dies vor kurzem. Es könnte für Sie arbeiten. Es versucht, Pivot-Cache- und/oder Abfragetabellendaten für die aktive Arbeitsmappe in die Zwischenablage zu kopieren. Es ist von On Error Resume Next umgeben, so dass, wenn es ein bestimmtes Stück von Daten nicht findet es weiter geht:
Sub Copy_Connection_Info_To_Clipboard()
Dim ptCache As Excel.PivotCache
Dim qtQueryTable As Excel.QueryTable
Dim strPtCacheInfo As String
Dim strQueryTableInfo As String
Dim ws As Excel.Worksheet
Dim strConnectionInfo As String
Dim doConnectionInfo As DataObject
On Error Resume Next
For Each ptCache In ActiveWorkbook.PivotCaches
With ptCache
strPtCacheInfo = _
strPtCacheInfo _
& "PivotCache #" & "Index: " & .Index & vbCrLf & vbCrLf _
& "SourceDataFile: " & .SourceDataFile & vbCrLf & vbCrLf _
& "CommandText: " & .CommandText & vbCrLf & vbCrLf _
& "SourceConnectionFile: " & .SourceConnectionFile & vbCrLf & vbCrLf _
& "Connection: " & .Connection & vbCrLf & vbCrLf
End With
Next ptCache
If strPtCacheInfo <> "" Then
strPtCacheInfo = "PivotCache Info" & vbCrLf & vbCrLf & strPtCacheInfo
End If
For Each ws In ActiveWorkbook.Worksheets
If ws.QueryTables.Count > 0 Then
strQueryTableInfo = "Worksheet: " & ws.Name & vbCrLf
For Each qtQueryTable In ActiveSheet.QueryTables
With qtQueryTable
strQueryTableInfo = _
strQueryTableInfo _
& "QueryTable Name: " & .Name & vbCrLf & vbCrLf _
& .SourceDataFile & vbCrLf & vbCrLf _
& .CommandText & vbCrLf & vbCrLf _
& .SourceConnectionFile & vbCrLf & vbCrLf _
& .Connection & vbCrLf & vbCrLf
End With
Next qtQueryTable
End If
Next ws
If strQueryTableInfo <> "" Then
strQueryTableInfo = "Query Table Info" & vbCrLf & strQueryTableInfo
End If
strConnectionInfo = strPtCacheInfo & strQueryTableInfo
If strConnectionInfo <> "" Then
Set doConnectionInfo = New DataObject
doConnectionInfo.SetText strConnectionInfo
doConnectionInfo.PutInClipboard
End If
End Sub
Verwandte Themen
- 1. So erhalten Sie Blattname mit Formel Excel 2007
- 2. So erhalten Sie die letzte aktive Zelle in Excel 2007
- 3. Excel PivotTable von externer Quelle mit Abfrage/Filter
- 4. So erhalten Sie den Tabellennamen einer Spalte aus SqlDataReader
- 5. Alternative für Excel pivotTable in C#
- 6. So erhalten Sie Textwerte aus einer Listenansicht
- 7. So erhalten Sie Zahlen aus einer Zeichenfolge
- 8. So erhalten Sie den Namensraum einer URL
- 9. Excel 2007-Datensammlung
- 10. So entfernen Sie 1 Zeichen aus einer Spalte in Excel
- 11. Wie durchläuft ich die Filterelemente und blendet Elemente in einer Excel-PivotTable mithilfe des Datenmodells aus?
- 12. So erhalten Sie die in einer Excel-Arbeitsmappe definierten Makros
- 13. So erhalten und verketten Sie Werte aus einer Spalte basierend auf einer anderen Spalte in Excel
- 14. Speichern Excel 2007 Dokumente
- 15. Erhalten Sie Excel-Style Spaltennamen aus Spaltennummer
- 16. Update Excel 2007 mit OleDb
- 17. So erhalten Sie den Ländernamen
- 18. Excel PivotTable von Cube: Wie bekomme ich einen flachen Tisch?
- 19. Excel 2007 PageSetup.FitToPagesWide Ausgabe
- 20. VBA ändert Excel 2002 -> Excel 2007
- 21. Excel-2007 Rekord Makro
- 22. Bereitstellen einer Visual Studio Excel 2007-Vorlage
- 23. Lesen einer Excel 2007-Tabelle in C#
- 24. So erhalten Sie den Zählwert aus zwei Tabellen mit Aliasnamen
- 25. So erhalten Sie den Dateipfad des Inhalts in der Klassenbibliothek
- 26. C# excel 2007 Druckvorschau
- 27. So erhalten Sie eine Liste ausgewählter Benutzer aus den Kontrollkästchen
- 28. So erhalten Sie den Dateinamen aus dem Dateipfad in swift
- 29. So erhalten Sie den Routennamen aus Attributrouting in ASP MVC5
- 30. So erhalten Sie den Ressourcennamen aus der Ressourcen-ID
Vielen Dank! es hat funktioniert :) – ichigo