Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Bestimmte Excel-Zellen mit PHP auslesen

Mitglied: gabrielgn

gabrielgn (Level 2) - Jetzt verbinden

16.06.2006, aktualisiert 20.06.2006, 9857 Aufrufe, 8 Kommentare

Hallo Zusammen,
ich habe eine kleine WebSeite, die ständig aktualisierte Daten einer Excel Tabelle braucht. Da ich nicht der Typ bin, für "jeden Tag manuell zu aktualisieren", würde ich gerne das ganze etwas automatisieren. Ich möchte dann nur die Excel Tabelle aktualisieren und mittels PHP wird sich die Seite die nötigen Werte selber auslesen.

Es ist nichts kompliziertes. Ich habe eine Tabelle aus 8 Zeilen und 2 Spalten, die eine gleiche Tabelle in der Excel-Datei wiederspiegelt, so müsste theoretisch nur jede Zelle der Tabelle auf der PHP-Seite mit der gleichen positionierten Zelle in der Excel-Datei referenzieren.

Ich hoffe ihr könnt mir dabei helfen. Vielen Dank im Voraus!

Gab
Mitglied: 16568
16.06.2006 um 16:28 Uhr
Wieso gehst Du nicht den einfacheren Weg?

Das ganze von Excel selbst (VBA) in eine Textdatei einzulesen.
Sollte jeder mit Klick-und-gut zusammenbringen, und Textdateien mittels PHP einlesen auch.


Lonesome Walker
Bitte warten ..
Mitglied: gabrielgn
19.06.2006 um 16:42 Uhr
Hallo,
ich nochmal...
Ich habe mich heute nochmal mit dieses Problem auseinander gesetzt...Ich kam zwar ein Schritt nach vorn, aber leider noch nicht ans Ziel. Dafür brauche ich möglicherweise eure Hilfe...

Ich habe folgendes VBA-Skript im Internet gefunden und etwas angepasst (Spalten- und Zeilenanzahl):

Sub Export2Txt()
Dim x As Long, i As Integer
Dim Zeile As String
Dim Spalten
Const Zeilenzahl = 8 ' hier Zeilenanzahl der Tabelle angeben
Const Spaltenzahl = 2
' gewünschte Länge der einzelnen Spalten (Der 1. Wert 0 wird ignoriert, muss aber aus technischen Gründen sein)
Spalten = Array(0, 8, 6)

Open "test.txt" For Output As #1 ' Zieldatei öffnen

For x = 1 To Zeilenzahl ' alle angegebene Zeilen abarbeiten
Zeile = ""
For i = 1 To Spaltenzahl ' alle angegebene Spalten abarbeiten
If Len(Cells(x, i)) < Spalten(i) Then ' wenn Zelleninhalt kleiner als gewünschte Spaltenbreite
Zeile = Zeile & Cells(x, i) & Space(Spalten(i) - Len(Cells(x, i))) ' mit Leerzeichen auffüllen
Else ' sonst
Zeile = Zeile & Left(Cells(x, i), Spalten(i)) ' auf gewünschte Länge abschneiden
End If
Next i
Print #1, Zeile ' Zeile in Textdatei schreiben
Next x

' Datei schliessen
Close #1
End Sub


Leider produziert dieses Skript nichts wenn ich es ausführe (ich habe auch versucht die test.txt vor der Ausführung zu erstellen...trotzdem erfolgslos..)
Ehrlich gesagt, auch wenn ich keine Ahnung von Excel-VBA habe, fehlt mir irgendwo im code die Angabe von was exportiert werden soll...
Die Tabelle, die ich exportieren möchte ist, wie im Code beschrieben, 8 x 2 Groß... also keine riesen Sache...
Kann mir jemand bitte weiterhelfen?
Danke im Voraus!
Bitte warten ..
Mitglied: 16568
19.06.2006 um 18:38 Uhr
Das is lustich...

Erst mal solltest Du die Textdatei definieren, ungefähr so:

01.
 
02.
Dim TextObjekt, TextDatei 
03.
 
04.
    Set TextObjekt = CreateObject("Scripting.FileSystemObject") 
05.
    On Error Resume Next 
06.
    Set TextDatei = TextObjekt.CreateTextFile("C:/Temp/Test.txt", True) 
07.
    If Err Then Exit Sub 
08.
         
09.
    #hier Deine Operationen ... 
10.
     
11.
    TextDatei.Close 
12.
    Set TextObjekt = Nothing 
13.
 
Und dann solltest Du das ganze in die Sub auto_close() setzen, damit es immer am Ende, wenn Du die Excel-Tabelle schließt, ausgeführt wird, und Du somit immer aktuelle Daten hast.


Lonesome Walker
Bitte warten ..
Mitglied: gabrielgn
19.06.2006 um 19:07 Uhr
Hallo,
danke für deine Hilfe. Ich weiss es ist lustig wenn jemand der keine Ahnung hat was versucht...

Nun habe ich mein Code mit deinen Ergänzungen gefüllt... doch er will trotzdem nicht funktionieren... woran kann es liegen?!

Sub Export2Txt()
Dim TextObjekt, TextDatei

Set TextObjekt = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set TextDatei = TextObjekt.CreateTextFile("C:/test.txt", True)
If Err Then Exit Sub

Dim x As Long, i As Integer
Dim Zeile As String
Dim Spalten
Const Zeilenzahl = 8 ' hier Zeilenanzahl der Tabelle angeben
Const Spaltenzahl = 2
' gewünschte Länge der einzelnen Spalten (Der 1. Wert 0 wird ignoriert, muss aber aus technischen Gründen sein)
Spalten = Array(0, 8, 6)

Open "test.txt" For Output As #1 ' Zieldatei öffnen

For x = 1 To Zeilenzahl ' alle angegebene Zeilen abarbeiten
Zeile = ""
For i = 1 To Spaltenzahl ' alle angegebene Spalten abarbeiten
If Len(Cells(x, i)) < Spalten(i) Then ' wenn Zelleninhalt kleiner als gewünschte Spaltenbreite
Zeile = Zeile & Cells(x, i) & Space(Spalten(i) - Len(Cells(x, i))) ' mit Leerzeichen auffüllen
Else ' sonst
Zeile = Zeile & Left(Cells(x, i), Spalten(i)) ' auf gewünschte Länge abschneiden
End If
Next i
Print #1, Zeile ' Zeile in Textdatei schreiben
Next x

TextDatei.Close
Set TextObjekt = Nothing
' Datei schliessen
Close #1
End Sub



Die Textdatei wird zwar generiert, doch sie ist leer.
Bitte warten ..
Mitglied: 16568
19.06.2006 um 19:18 Uhr
Ja, welches Tabellenblatt soll er denn nehmen?

Nicht böse gemeint, aber ich würde Dein Profil mal anpassen.
Ein Programmierer sieht den Fehler in Deinem Quelltext nämlich SOFORT.


Lonesome Walker
Bitte warten ..
Mitglied: gabrielgn
19.06.2006 um 19:52 Uhr
Im ersten Beitrag von mir steht:

"Ehrlich gesagt, auch wenn ich keine Ahnung von Excel-VBA habe, fehlt mir irgendwo im code die Angabe von was exportiert werden soll..."

Es folgt, dass meine Tabelle eine 8x2 Tabelle ist..also nichts großartiges.
Könnt Ihr mir helfen den Code aufzubauen?

Nicht Böse gemeint... Also ich mein Profil dürfte ich so lassen wie es ist...
Bitte warten ..
Mitglied: 16568
19.06.2006 um 21:18 Uhr
Was ich mit meinem oberen Posting gemeint hatte:

Dir fehlen die rudimentärsten Kenntnisse des Programmierens!!!

Hier der korrigierte Source (und das ist der letzte für Dich):

01.
 
02.
Sub Auto_close() 
03.
 
04.
Dim TextObjekt, TextDatei 
05.
Dim x As Long, i As Integer 
06.
Dim Zeile As String 
07.
Dim Spalten 
08.
Const Zeilenzahl = 8 ' hier Zeilenanzahl der Tabelle angeben 
09.
Const Spaltenzahl = 2 
10.
Spalten = Array(0, 8, 6) ' gewünschte Länge der einzelnen Spalten (Der 1. Wert 0 wird ignoriert, muss aber aus technischen Gründen sein) 
11.
 
12.
Set TextObjekt = CreateObject("Scripting.FileSystemObject") 
13.
On Error Resume Next 
14.
Set TextDatei = TextObjekt.CreateTextFile("C:\test.txt", True) 
15.
If Err Then Exit Sub 
16.
 
17.
TextDatei.Close ' hiermit wird die Datei wieder geschlossen 
18.
Set TextObjekt = Nothing ' Objekt wird getiltet ;-) 
19.
 
20.
Open "C:\test.txt" For Output As #1 ' Zieldatei öffnen 
21.
 
22.
For x = 1 To Zeilenzahl ' alle angegebene Zeilen abarbeiten 
23.
Zeile = "" 
24.
For i = 1 To Spaltenzahl ' alle angegebene Spalten abarbeiten 
25.
If Len(Cells(x, i)) < Spalten(i) Then ' wenn Zelleninhalt kleiner als gewünschte Spaltenbreite 
26.
Zeile = Zeile & Cells(x, i) & Space(Spalten(i) - Len(Cells(x, i))) ' mit Leerzeichen auffüllen 
27.
Else ' sonst 
28.
Zeile = Zeile & Left(Cells(x, i), Spalten(i)) ' auf gewünschte Länge abschneiden 
29.
End If 
30.
Next i 
31.
Print #1, Zeile ' Zeile in Textdatei schreiben 
32.
Next x 
33.
 
34.
Close #1 ' Datei schliessen 
35.
 
36.
End Sub 
37.
 

Ist sicher optimierbar (da bin ich mir wirklich sicher ), aber ich arbeite nicht für andere umsonst (denn der Fehler ist entweder Faulheit, oder pure Ignoranz der Programmier-Technik...)


Lonesome Walker
Bitte warten ..
Mitglied: gabrielgn
20.06.2006 um 10:58 Uhr
Danke, es hat geklappt...auch wenn es nicht gerade die netteste Hilfe war.
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Excel - Werte bestimmter Zellen nach definierter Suche auslesen

gelöst Frage von Excel-StarterMicrosoft Office7 Kommentare

Hallo zusammen, ich bräuchte wieder einmal eure Hilfe für folgende Excelauswertung: Aus einer Lagerbestandsliste sollen jeweils für einen Artikel ...

Microsoft Office

Excel - Zellen aus anderen Exceldateien auslesen

gelöst Frage von Cubic83Microsoft Office10 Kommentare

Hallo, ich stecke mal wieder bei einem Excel Problem fest und hoffe ihr könnt mir helfen. Ich habe in ...

VB for Applications

Zellen aus anderer Excel-Mappe mit vba auslesen

gelöst Frage von speedy132VB for Applications3 Kommentare

Hallo zusammen, Ich habe eine Arbeitsmappe in der ich Werte aus einer anderen geschlossenen Arbeitsmappe auslesen möchte. Das ganze ...

VB for Applications

Excel - Wenn Zelle eine bestimmte Farbe hat, dann soll sie einen bestimmten Inhalt annehmen

gelöst Frage von C.Mue83VB for Applications4 Kommentare

Hallo zusammen, ich versuche mir gerade ein kleines Excel-Sheet zu basteln. Bin leider ein völliger Anfänger was VBA angeht. ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

Microsoft Office
Freitagsfrage? Excel und CSV - Import statt öffnen
gelöst Frage von KraemerMicrosoft Office7 Kommentare

Moin zusammen, entweder fallen mir heute nicht die richtigen Wörter für Google ein, oder es geht schlicht nicht. Gibt ...

Entwicklung
Batch - Überprüfung
gelöst Frage von apex.predator24Entwicklung6 Kommentare

Hallo Zusammen Gibt es eine Möglichkeit, einen Prozess im TaskManager über eine Batch-Datei zu überprüfen ob dieser läuft oder ...