| |
|
|
ByteAttack | Auf meiner Seite gibt es jetzt eine Include-Datei, mit der man mit nur einem Befehl, ein komplettes Tabellenblatt von Excel in eine Listview importieren kann.
[...]
Beispiel:
$I Excel2lv.inc
WindowStyle 26
WindowTitle Excel
Window 0,0-800,600
Declare lvdll&,lvliste&
lvdll&=usedll($ProgDir+Listview.dll)
$I ListView_Include.inc
Register(123456)
lvliste&=CreateListView(%hwnd,%hinstance,0,$FFFFFF,-1,$31)
Excel2LV C:Tabelle.xls,Tabelle1,lvliste& Excel-Tabelle, Tabellenname, LV-Handle
ShowListView(lvliste&,10,10,728,528)
WaitMouse
$I ListView_Dispose.inc
|
|
|
| |
|
|
|
| Habs noch nicht angeschaut - aber das wäre klasse!
Bekommst Du das auch mit sdcs hin? ...den Excel hat ja nicht jeder aber openOffice hingegen ist ja frei erhältlich und wird auch gern von Firmen genutzt.
Ich habe zur Sicherheit nochmal die Zip als Beitragsanhang beigefügt, als Mirror sozusagen. (Habe ich mir erlaubt da Du ja nicht auf einen Counter zu verweisen scheinst.) |
|
|
| |
|
|
|
ByteAttack | Da muss ich mal schauen! SDC´s = Schweizerischer Dachshund Club. Hat irgendwie mit dem Hochladen hier auf die Seite net so geklappt? (Übermüdet) Einen Counter brauche ich für die Downloads nicht wirklich, da ich ja meine Webstatistik habe, aber trotzdem Danke. |
|
|
| |
|
|
|
ByteAttack | Ich habe hier nochmal ein besseres Beispiel mit mehr Übersicht und einer Beispiel Excel-Tabelle.
Beispiel: KompilierenMarkierenSeparieren#########################################
# Beispiel für die Include Excel2LV.INC #
# #
# Zur freien Verwendung für alle! #
# #
# 2007 Marc-Gordon Kröhn #
# http://www.marc-gordon.de #
# #
# Benötigt die LiestView.dll von #
# Frank Abbing http://frabbing.de/ #
#########################################
$P*
USERMESSAGES 16
##### Globale Variablen
Declare close%,L#,Sz&,MerkeX%,MerkeY%,Keyboardstate#,lvdll&,lvliste&,LVFont&,Datei$
##### Bereichsvariablen deklarieren
Dim L#,16
Dim Keyboardstate#,256
##### Definierte Funktionen
Def GetSysColor(1) !USER32,GetSysColor
Def AMoveWindow(6) ! USER32,MoveWindow,%%%%%%,%
Def GetKeyboardState(1) ! USER32.DLL,GetKeyboardState
##### LietView.dll einbinden
lvdll&=usedll($ProgDir+Listview.dll)
$I ListView_Include.inc
Register(123456) oder so ähnlich ;-)
##### Excel2ListView einbinden
$I Excel2lv.inc
##### Setzt in der Statusleiste den Status der Tasten Numlock, Caps und S-Abf
Proc Statustasten
GetKeyboardState(keyboardstate#)
if byte(keyboardstate#,20),1
SetText Sz&,1,GROSS
else
SetText Sz&,1,
endif
if byte(keyboardstate#,144),1
SetText Sz&,2,NF
else
SetText Sz&,2,
endif
if byte(keyboardstate#,145),1
SetText Sz&,3,SCRL
else
SetText Sz&,3,
endif
EndProc
##### Aufbau LiestView
Proc ListView
lvliste&=CreateListView(%hwnd,%hinstance,0,$FFFFFF,-1,$31)
ShowListview(lvliste&,0,0,width(%hwnd),height(%hwnd)-25)
SetFont lvliste&,LVFont&
EndProc
##### HAUPTFENSTER
Proc Hauptfenster
SetTrueColor 1
WindowStyle $003F
WindowTitle Excel2ListView
Window %maxX+10,10-640,480
Cls GetSysColor(15)
UseFont Arial,16,0,0,0,0
LVFont&=Create(Font,Arial,16,0,0,0,0)
SetDialogFont 1
ListView
Long L#,0 = 500, 545, 570, -1
Sz&=Create(StatusWindow,%HWND,,4,L#)
SetText Sz&,0,Bereit
SetWindowPos %hwnd=((%maxX/2)-320),((%maxY/2)-240)-640,480;0
ShowMax
Update
EndProc
##### Öffne Excel
Proc OpenXLS
Declare idx%,x&,Sortierliste$
Datei$=LoadFile$(ÖFFNE,Excel-Arbeitsmappe|*.XLS)
if Datei$=
else
DeleteAllItems(lvliste&)
EraseListview(lvliste&)
Excel2LV Datei$,Tabelle1,lvliste& Excel-Tabelle, Tabellenname, LV-Handle
WhileNot idx%=GetColumns(lvliste&)
SetColumnWidth(lvliste&,idx%,-1)
Inc idx%
Wend
DeleteColumn (lvliste&,idx%-1)
endif
EndProc
##### Update Fenster
Proc Update
if Width(%hwnd)<630
AMoveWindow(%hwnd,%WinLeft,%WinTop,640,%WinBottom-%WinTop,59,1)
elseif Height(%hwnd)<450
AMoveWindow(%hwnd,%WinLeft,%WinTop,%WinRight-%WinLeft,480,59,1)
endif
SetWindowPos Sz&=0,0-0,0;0
MerkeX%=Width(%hwnd)
MerkeY%=Height(%hwnd)
AMoveWindow(lvliste&,0,0,width(%hwnd),height(%hwnd)-25,59,1)
EndProc
##### Hauptprogramm
Hauptfenster
Statustasten
OpenXLS
##### Hauptprogrammschleife
WhileNot close%
GetMessage
Case %Umessage=16:close%=1
CaseNot MerkeX%=Width(%hwnd):Update
CaseNot MerkeY%=Height(%hwnd):Update
Case Width(%hwnd)<630:Update
Case Height(%hwnd)<450:Update
Case ScanKey(144):Statustasten
Case ScanKey(20):Statustasten
Case ScanKey(145):Statustasten
Wend
##### Programmende
Dispose L#
Dispose Keyboardstate#
$I ListView_Dispose.inc
FreeDLL lvdll&
DeleteObject lvfont&
|
|
|
| |
|
|
|
ByteAttack | Habe mir das mal angeschaut. Für die Openoffice.org gibt es keinerlei ODBC-Treiber für Windows. Aber man hat die Möglichkeit mit Calc seine Tabelle im Excelformat zu speichern. Somit können auch OpenOffice-Anwender die ganze Geschichte in eine ListView donnern. |
|
|
| |
|
|
|
| Das sind nix weiter als ein paar XMLs verpackt in einer Zip! Entpacke einfach die OpenOffice-Dateien sdc sxd odt & co. Das OpenOffice-Format ist auch dokumentiert - wer OpenOffice nutzt wird wohl kaum nach Excel speichern wollten. *g* |
|
|
| |
|
|
|
Thomas Freier | @ Marc, da ich z.Z. keine Zeit zum Vertiefen habe, kommst du damit weiter:
[...] [...] |
|
|
| |
|
|
|
| Mir persönlich geht es weniger ums Linux, eher nur ums OpenOffice. Die Dateien sind Zips mit XML-Dateien intus. a) entpacken b) bisl xml parsen und ende.
Wäre echt super da man OpenOffice als Bearbeitungsprogramm für eigene Tabellen nutzen könnte. Ich sehe hier viele Features - denn Excel darf man schließlich nicht weitergeben, OO aber schon. [...] |
|
|
| |
|
|
|
Detlef Jagolski | Darf man den Excel Dateien ohne Excel erstellen? |
|
|
| XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11 | 25.10.2007 ▲ |
|
|
|
|
Christian Schneider | Ja. Das Dateiformat ist nicht geschützt (wäre auch nicht unbedingt förderlich).
OpenOffice (und diverse andere Programme) können auch Excel-Dateien erstellen. |
|
|
| |
|
|
|
ByteAttack | Hallo Detlef. Ich hoff das war eine Scherzfrage. Oder zumindest ironisch gemeint... |
|
|
| |
|
|
|
Michael Wodrich | Bei M$ ist doch alles denkbar... |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 26.10.2007 ▲ |
|
|
|