Gibt es eine Standardmethode oder -bibliothek zum Kopieren und Einfügen aus einer Tabelle in ein Webformular? Wenn ich mehr als eine Zelle aus Excel auswähle, verliere ich (offensichtlich) das Trennzeichen und alles wird in eine Zelle des Webformulars eingefügt. Muss es in VB gemacht werden? oder könnte die Verarbeitung erfolgen, sobald die Einfügemaßnahme im Webformular gestartet wurde?
javascript
html
forms
excel
Seine Dudeness
quelle
quelle
Antworten:
Sie verlieren die Trennzeichen nicht, die Zellen werden durch Tabulatoren (
\t
) und Zeilen durch Zeilenumbrüche (\n
) getrennt, die im Formular möglicherweise nicht sichtbar sind. Probieren Sie es selbst aus: Kopieren Sie Inhalte aus Excel in den Editor, und Sie werden sehen, dass Ihre Zellen gut ausgerichtet sind. Es ist dann einfach, die Felder durch Registerkarten zu teilen und durch etwas anderes zu ersetzen. Auf diese Weise können Sie sogar eine Tabelle daraus erstellen. Hier ist ein Beispiel mit jQuery:Im Wesentlichen erstellt dieses Skript eine HTML-Tabelle aus eingefügten Excel-Daten.
quelle
td
. Nur zuAls Antwort auf die Antwort von Tatu habe ich eine schnelle jsFiddle erstellt, um seine Lösung vorzustellen:
http://jsfiddle.net/duwood/sTX7y/
HTML
JS
quelle
Unter OSX und Windows gibt es mehrere Arten von Zwischenablagen für verschiedene Arten von Inhalten. Wenn Sie Inhalte in Excel kopieren, werden die Daten im Klartext und in der HTML-Zwischenablage gespeichert.
Der richtige Weg (der nicht durch Trennzeichenprobleme ausgelöst wird) besteht darin, den HTML-Code zu analysieren. http://jsbin.com/uwuvan/5 ist eine einfache Demo, die zeigt, wie Sie die HTML-Zwischenablage erhalten. Der Schlüssel besteht darin, sich an das Ereignis onpaste zu binden und zu lesen
quelle
Die gleiche Idee wie Tatu (danke, ich werde sie bald in unserem Projekt brauchen), aber mit einem regulären Ausdruck.
Was für große Datenmengen schneller sein kann.
quelle
Für alle zukünftigen Googler, die hier wie ich landen, habe ich das Konzept von @tatu Ulmanen verwendet und es einfach in eine Reihe von Objekten verwandelt. Diese einfache Funktion verwendet eine Zeichenfolge eingefügter Excel- (oder Google Sheet-) Daten (vorzugsweise von a
textarea
) und wandelt sie in ein Array von Objekten um. Es verwendet die erste Zeile für Spalten- / Eigenschaftsnamen.Hoffentlich hilft es jemandem in der Zukunft.
quelle
UPDATE: Dies gilt nur, wenn Sie ONLYOFFICE anstelle von MS Excel verwenden.
Es gibt tatsächlich einen Fluss in allen Antworten, die hier bereitgestellt werden, und auch in der akzeptierten. Wenn Sie eine leere Zelle in Excel haben und diese kopieren, befinden sich in der Zwischenablage zwei Tabulatorzeichen nebeneinander. Nach dem Teilen erhalten Sie also ein zusätzliches Element im Array, das dann als zusätzliche Zelle in dieser Zeile angezeigt wird und verschiebt alle anderen Zellen um eins. Um zu vermeiden, dass Sie grundsätzlich alle doppelten Tabulatorzeichen (nur Tabulatoren nebeneinander) in einer Zeichenfolge durch ein Tabulatorzeichen ersetzen und erst dann teilen müssen.
Eine aktualisierte Version von @ userfusers jsfiddle behebt dieses Problem, indem eingefügte Daten mit removeExtraTabs gefiltert werden
http://jsfiddle.net/sTX7y/794/
quelle
Excel 2007 verfügt über eine Funktion auf der Registerkarte "Daten", die recht gut funktioniert.
quelle
Das ausgraben, falls jemand in Zukunft darauf stößt. Ich habe den obigen Code wie beabsichtigt verwendet, bin dann aber auf ein Problem gestoßen, bei dem die Tabelle angezeigt wurde, nachdem sie an eine Datenbank gesendet wurde. Sobald Sie die Daten gespeichert haben, ist es viel einfacher, PHP zu verwenden, um die neuen Zeilen und Registerkarten in Ihrer Abfrage zu ersetzen. Sie können das Ersetzen bei der Übermittlung durchführen. $ _POST [Anfrage] ist der Name Ihres Textbereichs:
Fügen Sie jetzt einfach $ request in Ihre Datenbank ein und es wird als HTML-Tabelle gespeichert.
quelle
Vielleicht wäre es besser, wenn Sie Ihre Excel-Datei aus PHP lesen und sie dann entweder in einer Datenbank speichern oder bearbeiten würden.
Hier ein ausführliches Tutorial zum Lesen und Schreiben von Excel-Daten mit PHP:
http://www.ibm.com/developerworks/opensource/library/os-phpexcel/index.html
quelle