Italia
Include

Excel2lv.inc

 
- Page 1 -



ByteAttack
Auf meiner Seite gibt es jetzt eine Include-File, mit der man mit nur einem Befehl, ein komplettes Tabellenblatt von Excel in un 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

589 kB
Kurzbeschreibung: Excel2ListView.zip
Hochgeladen:25.10.2007
Downloadcounter464
Download
 
Website:  [...] 
Facebook:  [...] 
24.10.2007  
 



 
- Page 1 -



Detlef
Jagolski
Darf man den Excel File 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-File erstellen.
 
XProfan 11| Vista(64) SP2
25.10.2007  
 




ByteAttack
Hallo Detlef.
Ich hoff das war eine Scherzfrage. Oder zumindest ironisch gemeint...
 
Website:  [...] 
Facebook:  [...] 
26.10.2007  
 




Michael
Wodrich
Bei M$ ist doch alles denkbar...
 
Programmieren, das spannendste Detektivspiel der Welt.
26.10.2007  
 



 
- Page 2 -



ByteAttack
XML2CSV

Naja, noch nicht ganz fertig, aber in der Mache...
 $P*
USERMESSAGES 16  X-Schaltfläche
Declare close%,Tabelle$
Tabelle$=Tabelle1
Declare Global_String$
Assign #4,$TempDir+c2l.csv
Rewrite #4
###################################
# Konvertiert die XML in eine CSV #
###################################

Proc XML2CSV

    Declare Zeile$,abhier%,bishier%,Row%,String$,first%
    Assign #3,$TempDir+Calc2lv.xml
    Reset #3

    WhileNot Eof(#3)

        Input #3,Zeile$

        if abhier%=0

            if InStr(Tab$,Zeile$)

                abhier%=1

            endif

        else

            if InStr(</table:table>,Zeile$)

                Return 0

            else

                if Row%=1

                    if InStr(</table:table-cell,Zeile$)  EndeSpalte

                        Row%=0

                    endif

                endif

                if Row%=0

                    if InStr(<table:table-row,Zeile$)  Spalte

                        Row%=1

                    endif

                endif

                if InStr(</text:p>,Zeile$)

                    String$=Translate$(Zeile$,</text:p>,)

                    if Row%=1

                        Global_String$=Global_String$+;+String$

                        if first%=1

                            print #4,Global_String$

                        else

                            first%=1

                        endif

                        Global_String$=String$

                    else

                        Global_String$=Global_String$+;+String$

                    endif

                endif

            endif

        endif

    EndWhile

    Close #3

EndProc

################################################    ###
# Konvertiert die einzelen <> Abschnitte.      #   ###
# DAUERT ABER NE EWIGKEIT BEI GROSSEN TABELLEN #  #############################
# WER HIER EINEN VORSCHLAG HAT - BITTE POSTEN  #   ###
################################################    ###

Proc ConvertXML

    Parameters Fragment$
    Declare ende%,index%,lang%,Zeichen$
    lang%=Len(Fragment$)

    WhileNot index%>lang%

        Zeichen$=Mid$(Fragment$,index%,1)

        if Zeichen$=>

            Global_String$=Global_String$+Zeichen$
            print #2,Global_String$
            Global_String$=

        else

            Global_String$=Global_String$+Zeichen$

        endif

        Inc index%

    Wend

EndProc

########################################################################
# Das XML-Dokumnet besteht aus EINEM String.                           #
# Proc Convert255 teilt den EINEN String in 255Zeichen-Fragmente auf   #
# Ist notwendig da die max. Zeichenlänge unter XProfan 32767 Zeichen   #
# beträgt.                                                             #
########################################################################

Proc Convert255

    Parameters XMLDatei$
    Declare B#,Anzahl%,bytes&,teiler&,uebrig&,Index&,Zeile$,Tab$
    Assign #2,$TempDir+Calc2lv.xml
    Rewrite #2
    Tab$=<table:table table:name=+Chr$(34)+Tabelle$+Chr$(34)
    bytes&=FileSize(XMLDatei$)
    teiler&=bytes&/255
    uebrig&=bytes&-(teiler&*255)
    Dim B#,bytes&
    Assign #1,XMLDatei$
    OpenRW #1
    Anzahl%=BlockRead(#1,B#,0,bytes&)
    CloseRW #1

    WhileNot Index&=teiler&

        Zeile$=Char$(B#,Index&*255,255)
        ConvertXML Zeile$
        Inc Index&

    Wend

    Zeile$=Char$(B#,Index&*255,uebrig&)
    ConvertXML Zeile$
    Dispose B#
    close #2
    XML2CSV
    print fertig
    Close #4

EndProc

#### Hauptprogramm
WindowStyle 26
WindowTitle OOCalc2ListView
Window 0,0-%maxX,%maxY
Convert255 $ProgDir+content.xml

WhileNot close%

    GetMessage
    Case %Umessage=16:close%=1

Wend


7 kB
Kurzbeschreibung: Beispiel XML
Hochgeladen:26.10.2007
Downloadcounter426
Download
 
Website:  [...] 
Facebook:  [...] 
26.10.2007  
 




Ist notwendig da die max. Zeichenlänge unter XProfan 32767 Zeichen #
# beträgt.


XProfan-Strings können 2GB fassen, circa 8K werden sie jedoch etwas langsamer.

Wenn ich doch nur etwas mehr Zeit hätte potuto ich mal versuchen die XML schneller zur CSV zu konvertieren, ich sehe hier noch ein paar Effektivitätslücken.
 
26.10.2007  
 




ByteAttack
JA! hau rein. Ich habe das Ding quasi Zusammengeschustert
Habe im Moment auch net so wirklich Zeit.
 
Website:  [...] 
Facebook:  [...] 
26.10.2007  
 




Frank
Abbing
Bei ausreichend Bedarf potuto ich das Ganze auch als Dll-Funktion integrieren. Dürfte in Assembler am schnellsten arbeiten.
 
26.10.2007  
 



Eine ASM XML2CSV bzw. XML2ListBox wäre eh lecker.
 
26.10.2007  
 




Frank
Abbing
iF
Eine ASM XML2CSV bzw. XML2ListBox wäre eh lecker.


Listbox, pfftt. Wir sind hier im Listview-Foro...
 
26.10.2007  
 



Frank Abbing
iF
Eine ASM XML2CSV bzw. XML2ListBox wäre eh lecker.


Listbox, pfftt. Wir sind hier im Listview-Foro...


Tschuldigung
 
26.10.2007  
 




Answer


Topictitle, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

19.380 Views

Untitledvor 0 min.
H.Brill15.11.2023
Rc31.01.2022
Langer29.01.2022
Member 640534317.01.2022
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie