Wie kann ich Excel-Tabellen von einer Webseite exportieren?
Wie kann ich das exportieren von Tabellen in excel von einer Webseite. Ich möchte den export enthalten alle Formatierungen und Farben.
Kommentar zu dem Problem
Der einfachste Weg ist wahrscheinlich so exportieren Sie ein HTML-Dokument, die Excel öffnen kann.
@Pekka ich habe versucht, es verliert alle Formatierungen/css/Spalte Größe etc
@user wo bist du deklarieren Spalte Größen und so? Ich bin nicht sehr vertraut mit Export der Daten in Excel, aber Sie müssen vielleicht erklären, inline, also
<td style="background-color: ...
@user - es gibt mindestens zwei verschiedene Probleme hier: 1) Formatierung der Daten, so dass es korrekt in Excel, und 2) exportieren Sie die Daten per Javascript, so dass es setzt den mime-Typ korrekt, wird der Benutzer aufgefordert, die Datei zu speichern. Sind Sie versuchen, beide Probleme lösen?
Warum wurde diese als "opinion-based"? Dies ist eine sehr einfache technische Frage.
InformationsquelleAutor der Frage code511788465541441 | 2011-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weit und Weg der sauberste, einfachste exportieren von Tabellen in Excel ist Jquery-DataTables-Table-Tools-plugin. Sie erhalten ein raster, Sortierungen, Filter, Aufträge und Seiten, die Ihre Daten, und mit nur ein paar extra Zeilen code und zwei kleine Dateien enthalten, erhalten Sie export nach Excel, PDF, CSV, in Zwischenablage kopieren und an den Drucker.
Dies ist der gesamte code, der benötigt wird:
So, schnell zu installieren, keine browser-Einschränkungen, keine server-side-Sprache erforderlich, und die meisten der alle sehr LEICHT zu verstehen. Es ist eine win-win-Situation. Die eine Sache, es hat Grenzen, obwohl, ist die strenge Formatierung von Spalten.
Wenn die Formatierung und die Farben sind absolute dealbreakers, die nur 100% zuverlässig, cross-browser-Methode, die ich gefunden habe, ist ein server-side-Sprache zu verarbeiten, die richtige Excel-Dateien aus dem code. Meine Lösung der Wahl ist PHPExcel Es ist die einzige, die ich bisher gefunden habe, die positiv behandelt exportieren mit Formatierung auf eine MODERNE version von Excel von jedem browser aus, wenn Sie es geben nichts, sondern HTML. Lassen Sie mich klarstellen, obwohl es definitiv nicht so einfach wie die erste Lösung, und ist auch ein bisschen ein Ressourcenfresser. Aber auf der plus-Seite, es kann auch die Ausgabe direkt nach PDF auch. Und, sobald man es konfiguriert, es funktioniert einfach jedes mal.
UPDATE - 15. September 2016: TableTools wurde eingestellt zu Gunsten von ein neues plugin namens "Tasten" Diese Werkzeuge haben die gleichen Funktionen wie die alte Erweiterung TableTools, sind aber viel einfacher zu installieren und machen Sie Gebrauch von HTML5-downloads für moderne Browser, mit der Möglichkeit zum Rückgriff auf das original-Flash-download für Browser, die keine Unterstützung für den HTML5-standard. Wie Sie sehen können aus den vielen Kommentaren, seit ich gepostet dieser Reaktion in 2011, die größte Schwäche von TableTools angesprochen wurde. Ich kann immer noch nicht empfehlen DataTables genug für den Umgang mit großen Datenmengen einfach, sowohl für den Entwickler und den Anwender.
InformationsquelleAutor der Antwort bpeterson76
Lange her ist, entdeckte ich, dass Excel eine HTML-Datei mit einer Tabelle, wenn wir senden es mit den Excel-Inhalten geben. Betrachten Sie das Dokument oben:
Lief ich die folgenden bookmarklet:
und in der Tat habe ich es herunterladbar als Excel-Datei. Jedoch, habe ich nicht erhalten das erwartete Ergebnis - die Datei wurde geöffnet, in OpenOffice.org Schriftsteller. Das ist mein problem: ich habe keine Excel in dieser Maschine, so kann ich nicht versuchen Sie es besser. Auch dieser trick funktionierte mehr oder weniger, die vor sechs Jahren mit älteren Browsern und eine Antike version von MS Office, so kann ich wirklich nicht sagen, ob es heute funktionieren.
Sowieso im Dokument oben habe ich Hinzugefügt eine Schaltfläche, die würde laden Sie das gesamte Dokument als Excel-Datei, in der Theorie:
Speichern Sie es in eine Datei und klicken Sie auf die Schaltfläche. Ich würde Liebe zu wissen, ob es geklappt hat oder nicht, so dass ich Sie bitten, den Kommentar noch zu sagen, dass es nicht funktioniert.
InformationsquelleAutor der Antwort brandizzi
Ist es möglich, die Verwendung der alten Excel 2003-XML-format (vor OpenXML) zu erstellen, die eine Zeichenfolge enthält, die gewünschte XML -, dann auf der client-Seite könnte man eine data-URI zu öffnen, die Datei mit Hilfe der XSL-mime-Typ, oder senden Sie die Datei an den client mithilfe der Excel-MIME-Typ "Content-Type: application/vnd.ms-excel" aus der server-Seite.
Sobald Sie die Informationen gesammelt haben, erstellen Sie die Letzte saite und öffnen Sie ein neues Fenster mit der Daten-URI
Es ist erwähnenswert, dass ältere Browser nicht unterstützt das data-URI-Schema, so müssen Sie möglicherweise produzieren die Datei server-Seite für die browser, die nicht unterstützen.
Können Sie auch brauchen, um die base64-Codierung für die Daten-URI Inhalte, die erfordern, ein js-Bibliothek, sowie das hinzufügen der Zeichenkette ';base64,' nach der mime-Typ der Daten-URI.
InformationsquelleAutor der Antwort samshull
Excel verfügt über eine wenig bekannte Funktion namens "Web-Abfragen" können Sie das abrufen von Daten aus fast jeder web-Seite, ohne zusätzliche Programmierung.
Einer web-Abfrage im Grunde läuft ein HTTP-Anforderung direkt in Excel und kopiert einige oder alle empfangenen Daten (und Optional die Formatierung) in das Arbeitsblatt ein.
Nachdem Sie definiert haben, die web-Abfrage können Sie aktualisieren Sie es jederzeit ohne auch nur excel. So dass Sie nicht haben, um tatsächlich "export" von Daten und speichern in einer Datei - würden Sie eher aktualisieren Sie die Daten wie in einer Datenbank.
Können Sie auch machen verwenden von URL-Parametern, indem Sie mit excel Sie auffordert, bestimmte Filterkriterien etc...
Jedoch die Nachteile die mir bisher aufgefallen sind:
Hier ist eine Frage, die zum erstellen von web-Abfragen in Excel. Es verbindet eine Hilfe-Website von Microsoft darüber, Wie-Um externe Daten aus einer Web-Seite
InformationsquelleAutor der Antwort HAL 9000
Dies ist ein php-aber Sie vielleicht in der Lage, es zu ändern javascript:
InformationsquelleAutor der Antwort RedSoxFan
Zuerst möchte ich nicht empfehlen, versucht Html exportieren und hoffe, dass der Benutzer die Excel-Instanz abgeholt werden. Meine Erfahrung ist, dass dieses Lösung ist mit Problemen behaftet, einschließlich Inkompatibilitäten mit Macintosh-clients und wirft eine Fehlermeldung an den Benutzer, dass die Datei im betreffenden, nicht dem angegebenen format. Die meisten Kugel-Beweis -, Benutzer-freundliche Lösung ist eine server-Seite ein, wo Sie eine Bibliothek zu bauen, eine aktuelle Excel-Datei und senden Sie es zurück an den Benutzer. Die nächstbeste Lösung und universellere Lösung wäre, verwenden Sie das Open XML-format. Ich habe in ein paar seltene Kompatibilitätsprobleme mit älteren Excel-Versionen, sondern auf die ganze dies sollte Ihnen eine Lösung, die funktioniert auf jeder beliebigen version von Excel, einschließlich Macs.
Open XML
InformationsquelleAutor der Antwort Thomas
mozilla noch den support base 64-URIs. Dies ermöglicht es Ihnen, zu Komponieren dynamisch den binären Inhalt mit javascript:
wenn Ihre excel-Datei ist nicht sehr fancy (keine Diagramme, Formeln, ein macro) Sie können Graben, in das format und Komponieren Byte für die Datei ein, dann Kodieren Sie diese mit base64 und tragen Sie im href -
finden
https://developer.mozilla.org/en/data_URIs
InformationsquelleAutor der Antwort Pavlonator
Dieser code ist nur IE also ist es nur nützlich in Situationen, wo Sie wissen, alle Ihre Nutzer mit IE (wie, zum Beispiel, in einigen Unternehmensumgebungen.)
InformationsquelleAutor der Antwort Jordan Arron
Annahmen:
angegebenen url
die Konvertierung erfolgt auf der client-Seite
Systeme sind Windows, Mac und linux
Lösung für Windows:
python-code, öffnen Sie den Internet Explorer-Fenster und hat Zugang zu:
theurl variable enthält die url ('http://')
Hinweis: wenn die Seite nicht direkt zugänglich, aber login, werden Sie brauchen, um dies zu umgehen, durch die Eingabe der Daten in das Formular und emuliert die Aktionen der Benutzer mit python
hier ist das Beispiel
gleicher Weise für den Abruf von Daten aus web-Seite. Lassen Sie uns sagen-element mit der id 'el1', die die Daten enthalten.
abrufen das element text variable
dann, wenn Daten in der python-variable, können Sie öffnen Sie die excel-Bildschirm in ähnlicher Weise unter Verwendung von python:
Lösung für Mac:
nur der Tipp: verwenden Sie AppleScript - es hat einfache und ähnliche API wie win32com.client-Versand
Lösung für Linux:
java.das awt.Roboter könnten für diese Arbeit hat es Klick, Taste drücken (hot-keys verwendet werden können), aber keine API für Linux, dass ich mir bewusst bin über die, die arbeiten können als einfach als AppleScript
InformationsquelleAutor der Antwort Pavlonator
Dies ist tatsächlich einfacher als Sie denken würden: "Einfach" kopieren Sie den HTML-Tabelle (das ist: Der HTML-code für die Tabelle) in die Zwischenablage. Excel kennt, wie zum Dekodieren von HTML-Tabellen; es werde sogar versuchen, erhalten Sie die Attribute.
Der schwierige Teil ist das "kopieren Sie die Tabelle in die Zwischenablage", da es keine standard-Weg, um den Zugriff auf die Zwischenablage von JavaScript. Dieser blog-post: Zugriff auf die Zwischenablage des Systems mit JavaScript – Ein Heiliger Gral?
Alles was Sie jetzt brauchen, ist die Tabelle als HTML. Ich schlage vor, jQuery und die html() Methode.
InformationsquelleAutor der Antwort Aaron Digulla
einfache google-Suche zeigte:
wenn Sie dies nicht tun können, gibt er eine Alternative "drag-and-drop" - Methode:
http://www.mrkent.com/tools/converter/
InformationsquelleAutor der Antwort SQueryL
Und jetzt gibt es einen besseren Weg.
OpenXML SDK für JavaScript.
https://openxmlsdkjs.codeplex.com/
InformationsquelleAutor der Antwort Eric Hartford
Gibt es praktisch zwei Möglichkeiten, dies zu tun automatisch, während nur eine Lösung kann verwendet werden in allen Browsern.
Zunächst sollten Sie die open xml-Spezifikation zum erstellen des excel-Blatt. Es gibt Kostenlose plugins, die von Microsoft verfügbar, dass dieses format auch für ältere office-Versionen. Der open xml-standard ist seit office 2007. Die beiden Möglichkeiten sind offensichtlich die serverseitige oder clientseitige.
Die clientseitige Implementierung verwenden, einen neuen standard von CSS, die es Ihnen ermöglichen, um Daten zu speichern, anstatt nur die URL zu den Daten. Dies ist eine großartige Ansatz coz Sie brauchen keine servercall, nur die Daten und etwas javascript. Die Tötung Nachteil ist, dass microsoft nicht unterstützen, alle Teile, die in der aktuellen IE (ich weiß nicht, über IE9) veröffentlicht. Microsoft Schränken die Daten ein Bild, aber wir müssen ein Dokument. Im firefox klappt es ganz gut. Für mich ist der IE war das töten Punkt.
Der andere Weg ist, um Benutzer eine serverseitige Umsetzung. Es sollte eine Menge sein Implementierungen von open XML für alle Sprachen. Sie brauchen nur zu fassen. In den meisten Fällen ist es die einfachste Methode zum ändern eines Viewmodel in einem Dokument, aber für sicher, dass Sie senden Sie alle Daten von Clientseitiger zurück zum server und das gleiche tun.
InformationsquelleAutor der Antwort sra
InformationsquelleAutor der Antwort Sameh el Behairy