Date: prev next · Thread: first prev next last


Tack!
Det var bra information!

Man bör ha ett bra program som kan läsa txt-filer / XML-filer.
(Just nu använde jag Notepad ++. Finns säkert bättre editorer, men ändå)

Grund XML har följande syntax <namn attribut="värde">innehåll</namn>
Det som är centralt är alla "<" & ">" tecken samt "/"

- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -
I första exemplet skrev jag in på "Sheet1" "15000kr" i cell "E3"
Efter att ha skalat bort allt "ointressant" fick jag följande resultat .:
<table:table table:name="Sheet1" table:style-name="ta1" table:print="false">
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/> <table:table-column table:style-name="co2" table:number-columns-repeated="4" table:default-cell-style-name="Default"/>

    <table:table-row table:style-name="ro1" table:number-rows-repeated="2">
        <table:table-cell table:number-columns-repeated="5"/>
    </table:table-row>

    <table:table-row table:style-name="ro1">
        <table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce1" office:value-type="currency" office:currency="SEK" office:value="15000">
            <text:p>15 000,00 kr</text:p>
        </table:table-cell>
    </table:table-row>

</table:table>

- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - - När jag i cell "C2" även lade till 3000kr i "Sheet1" kom det centrala området att se ut på följande sätt .:
<table:table table:name="Sheet1" table:style-name="ta1" table:print="false">
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/> <table:table-column table:style-name="co2" table:number-columns-repeated="4" table:default-cell-style-name="Default"/>

    <table:table-row table:style-name="ro1">
        <table:table-cell table:number-columns-repeated="5"/>
    </table:table-row>

    <table:table-row table:style-name="ro1">
        <table:table-cell table:number-columns-repeated="2"/>
<table:table-cell table:style-name="ce1" office:value-type="currency" office:currency="SEK" office:value="3000">
            <text:p>3 000,00 kr</text:p>
        </table:table-cell>
        <table:table-cell table:number-columns-repeated="2"/>
    </table:table-row>

    <table:table-row table:style-name="ro1">
        <table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce1" office:value-type="currency" office:currency="SEK" office:value="15000">
            <text:p>15 000,00 kr</text:p>
        </table:table-cell>
    </table:table-row>

</table:table>
- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -

Skalar man ned ytterligare, finner man att följande info har tillfogats i exempel2, med "3000kr" i "C2".
    <table:table-row table:style-name="ro1">
        <table:table-cell table:number-columns-repeated="2"/>
<table:table-cell table:style-name="ce1" office:value-type="currency" office:currency="SEK" office:value="3000">
            <text:p>3 000,00 kr</text:p>
        </table:table-cell>
        <table:table-cell table:number-columns-repeated="2"/>
    </table:table-row>
- - - - - - - - - - - - - -- - - - - - - - - - - - - -- - - - - - - - - - - - - -

Visst, det är inte helt uppenbart. Hur man hittar till rätt cell får man fundera över.
Men när man har "knäckt" koden, borde det inte vara omöjligt att fixa detta.
En variant är att skapa de intressanta cellerna man vill ändra på..
Sedan ändra värdet på dessa celler, samt skriva tillbaka filen.
Framför allt borde det vara lättare att läsa innehållet i en cell.

Detta blev något att suga på.
Tack så länge!

//Jan

Johnny Rosenberg skrev 2012-09-16 21:36:
Den 16 september 2012 21:34 skrev Johnny Rosenberg <gurus.knugum@gmail.com>:
Den 16 september 2012 20:54 skrev Jan Öhman <Jan_Ohman@glocalnet.net>:
Hej!
Lite önskningar :-)

Undra om det är för svårt för mig att automatiskt skriva / läsa till / från
celler i ett kalkylblad med t.ex. en kommando promt (eller annat program)?

Låt säga att jag vill skriva in 10000kr i cell D3 i tabell1, sedan läsa vad
resultatet blev i F10 tabell1.
eller öppna kalkylarket och titta på diagrammet i tabell2.

Vet inte riktigt var jag ska börja hitta info om detta.

//Jan Ö

Det ska väl gå i teorin, men enkelt blir det nog inte. En .ods-fil är
egentligen en samling filer som packats ihop till en zip-fil. Du kan
extrahera filen om du vill, och får då en mapp med filnamnet. I den
ligger ett antal filer och minst en mapp. En fil heter content.xml.
Det är där du ska in och fippla i så fall. Tog just en titt på en
ganska liten fil jag hade på mitt skrivbord. Xml-filen består av två
rader: Första raden innehåller själva filhuvudet som alltid ska finnas
i en xml-fil: <?xml version="1.0" encoding="UTF-8"?>
Innehållet i filen finns på andra raden, som i mitt fall är 56101
tecken. Hela kalkylbladet finns alltså på en rad och jag antar att det
kanske är en fördel om man har ett terminalprogram som kan läsa och
skriva xml-filer på något smart sätt, annars får man försöka fixa det
själv på något sätt.
Så här kan en xml-tagg se ut i en kalkylbladsfil:
<table:table-cell
table:formula="of:=IF(OR([.D2]="";[.E2]="");"";[.D2]*[.E2])"
office:value-type="currency" office:currency="SEK"
office:value="2795"><text:p>2 795 kr</text:p>

Det blev visst två taggar, men ändå…
Denna cell innehåller som synes en formel och värdet har råkat bli
2795 och cellen är formaterad att visa ”kr” som valuta. Det framgår
dock inte VILKEN cell detta är… så jag ske erkänna att jag själv inte
är tillräckligt insatt i exakt hur det fungerar, men uppenbarligen
räcker det inte med att bara lägga till en rad hur som helst lite på
måfå…
Hur som helst, när man ändrat i sin xml-fil, måste man packa ihop
filerna till zip-format igen innan man kan öppna med LibreOffice eller
annat kompatibelt program.


Vänliga hälsningar

Johnny Rosenberg
ジョニー・ローゼンバーグ


--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.