Löschen oberste Zeile der excel-Datei mit SSIS
Ich habe eine excel-Datei, die eine Zeile das ist eine Zeile, die ich löschen möchte. Die Kopfzeile in diesem file sind die Zellen von A1 bis W1 zu einer Einheit verschmolzen. Dies verursacht ein problem, wenn ich versuche die Datei zu Lesen, weil ich erwarte Spaltennamen. Richtigen Spaltennamen vorhanden sind, in der zweiten Zeile der Datei, die ist, warum ich wollen, löschen Sie den ersten.
Um dies zu erreichen, dachte ich, ich wäre in der Lage, verwenden Sie die "Excel-Quelle" Element in SSIS, da es unterstützt ein SQL-option, um eine Abfrage zu schreiben. Was ich tun möchte ist etwas wie dieses:
SELECT * from ExcelFile WHERE Row > 1
Meine Datei hat nur Daten in den Spalten A thru W.
Ich weiß nicht, was syntax kann ich in der Abfrage verwenden, um dies zu tun. Der query builder ist in der Excel-Source-Element wird es mir ermöglichen, viele Dinge zu tun mit den Spalten, aber ich sehe keine Möglichkeit etwas zu tun mit den Zeilen. Online-Suche und die Hilfe hat mich nicht überall.
- Schauen Sie hier: social.msdn.microsoft.com/Forums/en-US/...
- Dies könnte funktionieren, aber wenn ich diese, ich würde wollen, um den Namen der Platte (es gibt nur 1) und die Spalten mit den Daten programmgesteuert. Ich will nicht ändern mein code, wenn sich die Quelldatei ändert. Irgendwelche Vorschläge zu machen und über das, was Sie vorschlagen?
- Ich dachte mehr entlang der Linien von #2 in dieser Antwort. Mit einem bedingten split zu überprüfen, für die header-Inhalte, wie lange, das blieb unverändert. Jedoch, die Antwort unten hat auch eine gute Lösung, gegeben, dass die erste Zeile ist immer eine Kopfzeile.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht, um die Verwendung einer syntax.
Gehen Sie zu control flow..
Ziehen Sie in einem data flow task.
Fügen Sie eine excel-Datei, Quelle...fügen Sie eine conection manager
Mit dem excel-Blatt.
Öffnen Sie den Verbindungs-manager, und überprüfen Sie die box, die sagt.
Die Spaltennamen In der ersten Zeile. Das ist es und hinzufügen ur Ziel.
Keine dieser Lösungen funktioniert, weil die Excel-Treiber verwechselt werden, die durch das fusionierte ersten Zeile. Sie werden nicht in der Lage zu nutzen, alle Treiber-Funktionen wie überspringen der ersten Zeile, um dies zu tun. Sie müssen führen Sie einige Skripts zum öffnen der Excel-Datei und löschen Sie die Zeile manuell.
Gibt es einige basic-Beispielskript zu dieser Website:
http://www.sqlservercentral.com/Forums/Topic1327014-1292-1.aspx
Den code unten angepasst ist, von der der code geschrieben von snsingh auf dieser Seite.
Würden Sie offensichtlich verwenden möchten Anschluß manager-Eigenschaften, die nicht hart codierte Pfade
Excel muss installiert werden, auf dem SSIS-Server für Sie zu arbeiten - das ist der einzige Weg, um die Verwendung der Excel-Automatisierung.