Datenanbindung von Excel-Dateien
Freagles
- internet-anbindung
Hallo,
vielleicht kann mir einer helfen.
Ich möchte eine Abfrage zu einer Excel Datei durchführen. Wie ich das mit einer "txt" Datei erreiche weiß ich. Aber wie schaffe ich das mit einer excel-Daei ohne dass ich diese umwandeln muß. Wie ist z.b. das Feldtrennzeichen für excel?
Wäre echt klasse wenn mir jemand helfen könnte
Hallo
Ich möchte eine Abfrage zu einer Excel Datei durchführen.
Ein wenig präzisere Infos wären hilfreich: Was willst du genau? Welche (server-seitige) Technik?
MfG
Tom2
Hallo
Ich möchte eine Abfrage zu einer Excel Datei durchführen.
Ein wenig präzisere Infos wären hilfreich: Was willst du genau? Welche (server-seitige) Technik?
MfG
Tom2
Eigentlich genau das selbe wie auf Seite:
http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm#durchsuchbar
Nur das ich eben eien Excel-Datei habe.
Moin Freagles,
Eigentlich genau das selbe wie auf Seite:
http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm#durchsuchbar
Nur das ich eben eien Excel-Datei habe.
ich schätze, du wirst nicht direkt auf die Excel-Datei zugreifen können (wahrscheinlich gibt es da von Microsoft zwar ein passendes ActiveX-Control, aber ob das bei allen deinen Besuchern installiert ist...?)
Du kannst die Datei aber von Excel aus einfach als CSV-Datei speichern, dann hast mit zwei oder drei Mausklicks eine Textdatei, in der die Daten durch ein Semikolon getrennt sind und die du für deine HTML-Seite benutzen kannst.
Aber: die Datenanbindung funktioniert eben nur im Internet Explorer, du schließt also alle Netscapes, Mozillas, Operas und wie sie alle heissen mögen aus. Empfehlen kann ich eine solche Lösung nur für ein Intranet, wenn du dir sicher sein kannst, dass jeder den IE nutzt...
Viele Grüße aus Bochum
Dirk
Moin Freagles,
Eigentlich genau das selbe wie auf Seite:
http://selfhtml.teamone.de/dhtml/modelle/datenanbindung.htm#durchsuchbar
Nur das ich eben eien Excel-Datei habe.
ich schätze, du wirst nicht direkt auf die Excel-Datei zugreifen können (wahrscheinlich gibt es da von Microsoft zwar ein passendes ActiveX-Control, aber ob das bei allen deinen Besuchern installiert ist...?)
Du kannst die Datei aber von Excel aus einfach als CSV-Datei speichern, dann hast mit zwei oder drei Mausklicks eine Textdatei, in der die Daten durch ein Semikolon getrennt sind und die du für deine HTML-Seite benutzen kannst.
Aber: die Datenanbindung funktioniert eben nur im Internet Explorer, du schließt also alle Netscapes, Mozillas, Operas und wie sie alle heissen mögen aus. Empfehlen kann ich eine solche Lösung nur für ein Intranet, wenn du dir sicher sein kannst, dass jeder den IE nutzt...
Viele Grüße aus Bochum
Dirk
Danke, für Deine Antwort.
Ich habe die Excel Datei schon mal umgewandelt in eine CSV-datei, du hast recht, das funktioniert, es wäre aber wichtig das es eben auch mit einer excel-Datei gehen würde, da diese ich immer wieder ändert. Bei den Besuchern der Seite kann ich von ausgehen, dass diese nur den IE benutzen.
ReMoin Freagles,
Ich habe die Excel Datei schon mal umgewandelt in eine CSV-datei, du hast recht, das funktioniert, es wäre aber wichtig das es eben auch mit einer excel-Datei gehen würde, da diese ich immer wieder ändert. Bei den Besuchern der Seite kann ich von ausgehen, dass diese nur den IE benutzen.
da hilft dir doch ein kleines Excel-Makro, das jedes Mal, wenn du die Datei speicherst auch die CSV-Datei automatisch mitspeichert...
Hier isses ;-):
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim alt As Workbook
Dim neu As Workbook
Application.DisplayAlerts = False
Set alt = ActiveWorkbook
Set neu = Workbooks.Add
alt.Activate
' Hier den Namen der Tabelle eintragen, deren Daten du speichern willst
Sheets("Tabelle1").Select
Cells.Select
Selection.Copy
Range("A1").Select
neu.Activate
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
' Hier den Pfad und Dateinamen der CSV-Datei eintragen
ActiveWorkbook.SaveAs FileName:= _
"C:\DeinPfad\DeinName.csv", FileFormat _
:=xlCSV, CreateBackup:=False
neu.Close False
Range("A1").Select
Set neu = Nothing
Set alt = Nothing
End Sub
Du musst jetzt einfach nur diesen Code kopieren, deine Excel-Datei öffnen und mit [Alt]+[F11] in den VBA-Editor wechseln. Dort öffnest du im Projekt-Explorer (in der Regel oben links im Fenster) jeweils durch Doppelklick den Bereich "VBAProject (DeinName.xls)" / "Microsoft Excel Objekte" / "DieseArbeitsmappe" und fügst den Code dort ein. In den beiden Zeilen, die den Kommentaren folgen musst du noch die Namen des Tabellenblatts und der CSV-Datei anpassen und schon klappt's auch mit dem Nachbarn ;-)
Viele Grüße aus Bochum
Dirk
Hallo Dirk,
kannst Du mir verraten, wie ich Excel 97 _innerhalb_eines_Makros_ dazu bringe,
CSV mit Semikola anstatt mit Kommata getrennt zu speichern?
Daran bin ich in der Vergangenheit immer verzweifelt...
Danke im Voraus & schönen Gruß aus Bilk
Rainer
Moin Rainer,
kannst Du mir verraten, wie ich Excel 97 _innerhalb_eines_Makros_ dazu bringe,
CSV mit Semikola anstatt mit Kommata getrennt zu speichern?
Daran bin ich in der Vergangenheit immer verzweifelt...
daran bin ich ebenfalls verzweifelt...
Einzige mir bekannte Möglichkeit ist, die Datei mit sequentiell mit print#-Befehlen zu schreiben, ein Beispiel dazu findest du z.B. unter http://www.excel-cd.de/mailing/019198h.htm.
Viele Grüße aus Bochum
Dirk
Hallo Dirk
Einzige mir bekannte Möglichkeit ist, die Datei mit sequentiell mit print#-Befehlen zu schreiben, ein Beispiel dazu findest du z.B. unter http://www.excel-cd.de/mailing/019198h.htm.
Danke, werd's mal probieren
Viele Grüße aus Bilk
Rainer
ReMoin Freagles,
Ich habe die Excel Datei schon mal umgewandelt in eine CSV-datei, du hast recht, das funktioniert, es wäre aber wichtig das es eben auch mit einer excel-Datei gehen würde, da diese ich immer wieder ändert. Bei den Besuchern der Seite kann ich von ausgehen, dass diese nur den IE benutzen.
da hilft dir doch ein kleines Excel-Makro, das jedes Mal, wenn du die Datei speicherst auch die CSV-Datei automatisch mitspeichert...
End Sub
Du musst jetzt einfach nur diesen Code kopieren, deine Excel-Datei öffnen und mit [Alt]+[F11] in den VBA-Editor wechseln. Dort öffnest du im Projekt-Explorer (in der Regel oben links im Fenster) jeweils durch Doppelklick den Bereich "VBAProject (DeinName.xls)" / "Microsoft Excel Objekte" / "DieseArbeitsmappe" und fügst den Code dort ein. In den beiden Zeilen, die den Kommentaren folgen musst du noch die Namen des Tabellenblatts und der CSV-Datei anpassen und schon klappt's auch mit dem Nachbarn ;-)
Viele Grüße aus Bochum
Dirk
Danke schön,
Es funktioniert leider nicht richtig sauber, zuviele Freizeichen bzw.Leerzeichen sind zwischen drin. und somit sieht die Tabelle nicht mehr sauber aus, ich muß Sie halt noch per Hand Nacharbeiten und genau das wollte ich eben verhindern, wenn mann direkt auf die Excel-Tabelle zugreifen kann---- Und das geht wohl nicht?