2009-04-14 13 views
1

Gibt es eine Möglichkeit, eine benutzerdefinierte Datenquelle zu implementieren, die mit der Funktion "Externe Daten importieren" funktioniert?Implementieren einer externen Excel-Datenquelle

Angenommen, ich habe Daten in einem Dateiformat, das Excel nicht versteht. Ich möchte ein Add-In (oder was auch immer) für Excel implementieren, das es ermöglicht, dieses Format über die Funktion "Externe Daten" zu verstehen. Natürlich könnte ich die Datei einfach in etwas umwandeln, das Excel bereits versteht, aber aus Gründen der Benutzerfreundlichkeit möchte ich diesen zusätzlichen Schritt lieber nicht haben.

Antwort

4

Ich habe schließlich erstellt einen Dienst, der einen HTTP-Server auf localhost ausgeführt wird, Tab-getrennte Daten. Es war tot einfach zu entwickeln und passt perfekt zu meinen Bedürfnissen. Es integriert sich in die Funktion Externe Daten, ohne dass ein ODBC-Treiber entwickelt werden muss.

+0

Wir stehen auch vor der gleichen Situation. Haben Sie eine Probe, um dies in Aktion zu sehen? Ich bin besonders interessiert an 1) Was ist der Rückgabetyp in HTTP-Antwort verwendet? Ist es eine einfache tabulatorgetrennte Zeichenfolge? 2) Welche Datenquelle in Excel haben Sie verwendet, um sich mit diesem Dienst zu verbinden? 3) ob dies funktioniert, wenn der Benutzer Daten mit der RefreshAll-Schaltfläche im Excel-Tab Daten aktualisiert? –

+1

Ich habe keine Probe, aber ich kann Ihre Fragen beantworten. 1) Die HTTP-Antwort ist content-type text/plain mit einer einfachen tabulatorgetrennten Zeichenfolge (\ r \ n zum Beenden von Zeilen). Die erste Zeile enthält die Spaltenüberschriften. Es ist genau das gleiche Textformat, als wenn Sie als durch Tabulatorzeichen getrennt exportiert würden. 2) Klicken Sie auf der Registerkarte Daten in Excel auf "Von Web" und geben Sie Ihre URL ein. In meinem Fall zeige ich nur auf http: // localhost: 9000, wo der Webserver läuft. 3) Die Schaltfläche Alle aktualisieren funktioniert hervorragend mit dieser Technik. –

+0

Vielen Dank @ dave76 ... Unser aktuelles Szenario besteht darin, Daten vom SSAS-Cube in Excel zu holen, die früher durch direkte Verbindung ausgeführt wurden. Da die Sicherheitsprobleme aufgrund der Verbindungszeichenfolge in Excel auftraten, dachten wir uns, SSAS als unseren eigenen Webservice auszusetzen. Aber später konnten wir sehen, dass in SSAS eingebaute Datenpumpenfunktion vorhanden ist und wir beschlossen, sie zu verwenden. –

2

Ein Add-In (oder was auch immer) wäre hier ein ODBC-Treiber (oder ein OLEDB-Treiber). Ich denke, du willst keins schreiben.

Das ist der Fall, wenn Sie externe Daten importieren möchten, aber Sie können natürlich ein Add-In erstellen, das die Datei selbst parsen und laden würde. Es wird dann einen eigenen Menüpunkt haben und wird nicht mit dem Import externer Daten in Verbindung stehen.

+0

Vereinbarte +1. So würde ich es machen. Laden Sie die Datei selbst und füllen Sie das Blatt mit Automatisierung. – RedBlueThing

0

Sie könnten versuchen XLLoop. Auf diese Weise können Sie Excel-Funktionen (UDFs) auf einem externen Server implementieren.

Ihre Tabelle könnte also eine Funktion namens LoadWidgetData (Widgettyp, Datum) enthalten, die Ihren Server aufrufen würde.

Es gibt Serverimplementierungen in vielen Sprachen (Java, Ruby, Python, PHP).

BTW, arbeite ich an dem Projekt so lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.

Verwandte Themen