The attribute t="s" of a cell c seems to indicate that the content has
to be interpreted as a shared string.

XLSXImporter>>resolveSharedStrings
"Replace shared strings pointers to real strings"
        workbook worksheets do:[:worksheet|
                worksheet cells do:[:cell|
                        ((cell attributeAt: #xlsx:t) = 's')
                                ifTrue:[cell data: (sharedStrings at: (cell 
data asNumber + 1))]
"XLSX uses 0-based arrays"
                ]
        ]

On 8/13/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
> For the shared strings in sheet1.xml for example
>
> <c r="A1" s="1" t="s">
>
> what do the attributes s and t stand for?
>
>
> <row r="1" customFormat="false" ht="35.05" hidden="false"
> customHeight="false" outlineLevel="0" collapsed="false">
> <c r="A1" s="1" t="s">
> <v>0</v>
> </c>
> </row>
>
> <row r="5" customFormat="false" ht="79.85" hidden="false"
> customHeight="false" outlineLevel="0" collapsed="false">
> <c r="B5" s="1" t="s">
> <v>1</v>
> </c>
> </row>
>
>
> On 8/13/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.52.mcz
>> 47 test run, 37 passes.
>>
>>
>> Currently I have a fixed string
>>
>> TabularXSLXExport>>sharedStrings_xml
>> ^'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>> <sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main";
>> count="1" uniqueCount="1">
>> <si><t> </t></si>
>> </sst>'.
>>
>> How far can I safely ignore constructing a proper xl/sharedStrings.xml
>> in the archive?
>>
>>
>>
>> On 8/13/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
>>> Found a useful summary about for generating XLSX files
>>>
>>> http://stackoverflow.com/questions/6055430/how-to-create-xlsx-file-without-using-any-excel-library-php/18820405#18820405
>>>
>>> On 8/13/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.50.mcz
>>>>
>>>> Another question is about the
>>>>
>>>>    #colspan: property of a cell
>>>>
>>>>
>>>>    (wsheet cells at: 1 @ 1) colspan: 1.
>>>>
>>>>    actually makes cell A1 span 2 columns.
>>>>
>>>>    Is this OK according to the standard?
>>>>
>>>>
>>>>
>>>>
>>>> TabularXLSXExportTest>>testExport7
>>>>
>>>> | wbk wsheet    |
>>>>    wbk := TabularWorkbook new.
>>>>    self assert:  (wbk worksheets isEmpty). 
>>>>            
>>>>    wsheet := TabularWorksheet new.
>>>>    wsheet
>>>>            at: 1 @ 1 putData: 'aaa';
>>>>            at: 3 @ 1 putData: 'ccc'.       
>>>>       (wsheet cells at: 1 @ 1) colspan: 1.
>>>>                    
>>>>    wbk worksheets add: wsheet.
>>>>    TabularXSLXExport workbook: wbk fileName: fname7.
>>>>    
>>>>    "manual inspection shows that the exported file is fine"
>>>>    "But is the colspan command fine? Add a colspan test to TabularCell"
>>>>
>>>>
>>>> On 8/13/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
>>>>> Hello Jurij and Vincent
>>>>>
>>>>> I am working on extending the export function (export of several
>>>>> worksheets).
>>>>>
>>>>> For this I am adding some more tests currently and I'd like to have
>>>>> your feedback on some of the basic functions regarding initial values.
>>>>>
>>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.49.mcz
>>>>> (41 tests run, 32 passes)
>>>>>
>>>>> in particular on class TabularWorksheetTest (3 tests)
>>>>>
>>>>> We have for example
>>>>>
>>>>>
>>>>> Test which passes
>>>>>
>>>>> testCellsReadingEmptyCell0
>>>>>       "accessing a cell without data"
>>>>>
>>>>>        ws col: 1 row: 1 putData: 11.
>>>>>        ws col: 2 row: 1 putData: 21.
>>>>>
>>>>>   self assert: (ws col: 1 row: 1) data equals: 11.
>>>>>   self assert: (ws col: 2 row: 1) data equals: 21.
>>>>>   
>>>>>       self assert: ((ws col: 3 row: 1) isNil).   "Is this OK to have
>>>>> nil returned?"
>>>>>   
>>>>>
>>>>>
>>>>> Test which does not pass
>>>>>
>>>>> testCellsReadingEmptyCell
>>>>>
>>>>>   self assert: ((ws col: 100 row: 100) data ='').
>>>>>   
>>>>>    "probably should return an empty string"
>>>>>
>>>>>
>>>>> Comments of others are invited as well.
>>>>>
>>>>> -- Hannes
>>>>>
>>>>> On 8/9/15, Юрий Мироненко <assargad...@gmail.com> wrote:
>>>>>> If your are using at least Pharo 4.0, you can use the catalog browser
>>>>>> to
>>>>>> load the ConfigurationOfTabular directly.
>>>>>>
>>>>>> You have only publish it for MetaRepoForPharo50, so it didn't work
>>>>>> for
>>>>>> Pharo 4.
>>>>>> BUt, thanks to your explanations, I just have published in
>>>>>> MetaRepoForPharo40 as well - works like charm!
>>>>>>
>>>>>> 2015-08-08 12:45 GMT+03:00 Vincent BLONDEAU <
>>>>>> vincent.blond...@polytech-lille.net>:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I added the dependencies to PharoExtras/XMLWriter and XMLParser.
>>>>>>> I didn't add the dependencies before because I used Tabular with
>>>>>>> Moose,
>>>>>>> and Moose already loads these dependencies...
>>>>>>>
>>>>>>> Now it should work. I created the new 0.2 release with the required
>>>>>>> dependencies.
>>>>>>>
>>>>>>> By the way, I used Versionner to create the configuration. I don't
>>>>>>> know
>>>>>>> if
>>>>>>> there is a documentation but there is a video:
>>>>>>> https://www.youtube.com/watch?v=cFRJDuWL-Q0
>>>>>>>
>>>>>>> It is a very fast tool to manage your projects!
>>>>>>>
>>>>>>> If your are using at least Pharo 4.0, you can use the catalog
>>>>>>> browser
>>>>>>> to
>>>>>>> load the ConfigurationOfTabular directly.
>>>>>>>
>>>>>>> Best,
>>>>>>> Vincent
>>>>>>>
>>>>>>> -----Message d'origine-----
>>>>>>> De : Pharo-users [mailto:pharo-users-boun...@lists.pharo.org] De la
>>>>>>> part
>>>>>>> de H. Hirzel
>>>>>>> Envoyé : samedi 8 août 2015 10:34
>>>>>>> À : Any question about pharo is welcome
>>>>>>> Objet : Re: [Pharo-users] Tabular: XLSX import
>>>>>>>
>>>>>>> If I do
>>>>>>>
>>>>>>>     ConfigurationOfXMLWriter load
>>>>>>>
>>>>>>> then
>>>>>>>
>>>>>>>     TabularExperimentalExport writeTestFile
>>>>>>>
>>>>>>> is fine generating an Excel file.
>>>>>>>
>>>>>>>
>>>>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.27.mcz
>>>>>>>
>>>>>>> I am currently exploring the code and trying to figure out how it
>>>>>>> works.
>>>>>>>
>>>>>>> --Hannes
>>>>>>>
>>>>>>> On 8/8/15, H. Hirzel <hannes.hir...@gmail.com> wrote:
>>>>>>> > I understand that Юрий Мироненко asks how to construct his
>>>>>>> > ConfigurationOfTabular file
>>>>>>> >
>>>>>>> > http://ss3.gemtalksystems.com/ss/Tabular.html
>>>>>>> >
>>>>>>> > So I pointed him to the Pharo By Examples book 2 Chapter 9
>>>>>>> > Managing
>>>>>>> > Projects with Metacello
>>>>>>> >
>>>>>>> >
>>>>>>> > The Tabular project needs a XMLWriter class. I assume the regular
>>>>>>> > pharoExtras is fine. I do not know.
>>>>>>> >
>>>>>>> > I am just looking at the code to see how the reading and writing
>>>>>>> > of
>>>>>>> > MSOffice files, Excel in this particular case,  is done so far.
>>>>>>> >
>>>>>>> > For reading a TabularSAXParser is included in the package.
>>>>>>> > Probably
>>>>>>> > not necessary.
>>>>>>> >
>>>>>>> > I moved it out here
>>>>>>> > http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.26.mcz
>>>>>>> >
>>>>>>> > Hannes
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > On 8/8/15, stepharo <steph...@free.fr> wrote:
>>>>>>> >>
>>>>>>> >>
>>>>>>> >> Le 8/8/15 09:11, H. Hirzel a écrit :
>>>>>>> >>> What about
>>>>>>> >>> http://rmod.lille.inria.fr/deepIntoPharo/index.html
>>>>>>> >>>
>>>>>>> >>> p. 163 depending on a project without Metacello description p.
>>>>>>> >>> 164,
>>>>>>> >>> depending on a project with a Metacello configuration
>>>>>>> >>>
>>>>>>> >>> In the mean time just a note that Tabular needs XMLParser and
>>>>>>> >>> XMLWriter packages on
>>>>>>> >>> http://ss3.gemtalksystems.com/ss/Tabular.html.
>>>>>>> >>
>>>>>>> >> are you implying that there is no expression of dependencies and
>>>>>>> >> that
>>>>>>> >> in addition it depend on a different XML Parser/Writer than
>>>>>>> >> pharoExtras ones?
>>>>>>> >>
>>>>>>> >> Stef
>>>>>>> >>>
>>>>>>> >>> Some class comments are welcome as well   :-)
>>>>>>> >>>
>>>>>>> >>> I understand that I can read Excel files and that you just
>>>>>>> >>> started
>>>>>>> >>> to check out how to write them?
>>>>>>> >>>
>>>>>>> >>> --Hannes
>>>>>>> >>>
>>>>>>> >>> On 8/4/15, Юрий Мироненко <assargad...@gmail.com> wrote:
>>>>>>> >>>> Thank you Vincent.
>>>>>>> >>>> Some things is much clearer for me now.
>>>>>>> >>>>
>>>>>>> >>>> *It's shame on me that I lost all this Metacello progress,
>>>>>>> >>>> especially taking into account I was on the ESUG conference
>>>>>>> >>>> where
>>>>>>> >>>> it was presented.
>>>>>>> >>>> It
>>>>>>> >>>> was my only conference unfortunately.*
>>>>>>> >>>>
>>>>>>> >>>> I see that you already started this job: you added
>>>>>>> >>>> ConfigurationOfTabular.
>>>>>>> >>>> What I really want to do with this configuration: add
>>>>>>> >>>> dependencies
>>>>>>> >>>> to XMLParser and XMLWriter packages. Can you help with this,
>>>>>>> >>>> please?
>>>>>>> >>>>
>>>>>>> >>>> 2015-08-04 17:19 GMT+03:00 Blondeau Vincent
>>>>>>> >>>> <vincent.blond...@worldline.com>
>>>>>>> >>>> :
>>>>>>> >>>>
>>>>>>> >>>>> Hi,
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> To add a configuration in the catalog, first you should have a
>>>>>>> >>>>> configuration for your project. You can create it with the
>>>>>>> >>>>> versionner if needed.
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Second, you have to add some methods adding meta-description
>>>>>>> >>>>> to
>>>>>>> >>>>> your project. The versionner do it for you: in the
>>>>>>> >>>>> configuration
>>>>>>> >>>>> list, select your project, do a right click and select add
>>>>>>> >>>>> catalog
>>>>>>> >>>>> methods.
>>>>>>> >>>>>
>>>>>>> >>>>> It creates all the mandatory methods for the catalog. You now
>>>>>>> >>>>> have
>>>>>>> >>>>> to fill them (look at the class side of the configuration).
>>>>>>> >>>>>
>>>>>>> >>>>> Finally, commit your configuration on your repo and on the
>>>>>>> >>>>> MetaRepoForPharo30/40/50 depending where your project is
>>>>>>> >>>>> working.
>>>>>>> >>>>>
>>>>>>> >>>>> The link is here:
>>>>>>> >>>>> http://smalltalkhub.com/#!/~Pharo/MetaRepoForPharo50
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Once published, your project will be in the catalog in the
>>>>>>> >>>>> image
>>>>>>> >>>>> (Tools>catalog browser) and on the web
>>>>>>> >>>>> http://catalog.pharo.org/.
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Tell me if you need help to do it,
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Cheers,
>>>>>>> >>>>>
>>>>>>> >>>>> Vincent
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> *De :* Pharo-users
>>>>>>> >>>>> [mailto:pharo-users-boun...@lists.pharo.org]
>>>>>>> >>>>> *De la part de* ???? ?????????
>>>>>>> >>>>> *Envoyé :* dimanche 2 août 2015 10:25 *À :* Any question about
>>>>>>> >>>>> pharo is welcome *Objet :* Re: [Pharo-users] Tabular: XLSX
>>>>>>> >>>>> import
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> It looks like I need some guidance to understand contemporary
>>>>>>> >>>>> packaging/deployment/versioning system. I know it exists, but
>>>>>>> >>>>> I
>>>>>>> >>>>> don't know details. Can you kick me in the right direction?
>>>>>>> >>>>> Maybe
>>>>>>> >>>>> some link?
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> 2015-08-02 11:21 GMT+03:00 Esteban Lorenzano
>>>>>>> >>>>> <esteba...@gmail.com>:
>>>>>>> >>>>>
>>>>>>> >>>>> Hi,
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Esteban
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>>>>> >>>>> <assargad...@gmail.com>
>>>>>>> >>>>> wrote:
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Hello.
>>>>>>> >>>>>
>>>>>>> >>>>> Some time ago I announced Tabular
>>>>>>> >>>>> <http://ss3.gemtalksystems.com/ss/Tabular.html>, some effort
>>>>>>> >>>>> to
>>>>>>> >>>>> make a tool for spreadsheets import/export.
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> This is short notice: Vincent Blondeau have added XLSX import
>>>>>>> >>>>> functionality!
>>>>>>> >>>>> It's also mostly proof-of-concept now, but even at this stage
>>>>>>> >>>>> it's
>>>>>>> >>>>> quite usable.
>>>>>>> >>>>>
>>>>>>> >>>>> Thanks, Vincent!
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> ------------------------------
>>>>>>> >>>>>
>>>>>>> >>>>> Ce message et les pièces jointes sont confidentiels et
>>>>>>> >>>>> réservés
>>>>>>> >>>>> à
>>>>>>> >>>>> l'usage exclusif de ses destinataires. Il peut également être
>>>>>>> >>>>> protégé par le secret professionnel. Si vous recevez ce
>>>>>>> >>>>> message
>>>>>>> >>>>> par erreur, merci d'en avertir immédiatement l'expéditeur et
>>>>>>> >>>>> de
>>>>>>> >>>>> le
>>>>>>> >>>>> détruire. L'intégrité du message ne pouvant être assurée sur
>>>>>>> >>>>> Internet, la responsabilité de Worldline ne pourra être
>>>>>>> >>>>> recherchée
>>>>>>> >>>>> quant au contenu de ce message. Bien que les meilleurs efforts
>>>>>>> >>>>> soient faits pour maintenir cette transmission exempte de tout
>>>>>>> >>>>> virus, l'expéditeur ne donne aucune garantie à cet égard et sa
>>>>>>> >>>>> responsabilité ne saurait être recherchée pour tout dommage
>>>>>>> >>>>> résultant d'un virus transmis.
>>>>>>> >>>>>
>>>>>>> >>>>> This e-mail and the documents attached are confidential and
>>>>>>> >>>>> intended solely for the addressee; it may also be privileged.
>>>>>>> >>>>> If
>>>>>>> >>>>> you receive this e-mail in error, please notify the sender
>>>>>>> >>>>> immediately and destroy it.
>>>>>>> >>>>> As
>>>>>>> >>>>> its integrity cannot be secured on the Internet, the Worldline
>>>>>>> >>>>> liability cannot be triggered for the message content.
>>>>>>> >>>>> Although
>>>>>>> >>>>> the sender endeavours to maintain a computer virus-free
>>>>>>> >>>>> network,
>>>>>>> >>>>> the sender does not warrant that this transmission is
>>>>>>> >>>>> virus-free
>>>>>>> >>>>> and will not be liable for any damages resulting from any
>>>>>>> >>>>> virus
>>>>>>> >>>>> transmitted.
>>>>>>> >>>>>
>>>>>>> >>>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to