Tabular: XLSX import

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
44 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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, Юрий Мироненко <[hidden email]> 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 <
> [hidden email]>:
>
>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>> >>>> <[hidden email]>
>> >>>> :
>> >>>>
>> >>>>> 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:[hidden email]]
>> >>>>> *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 <[hidden email]>:
>> >>>>>
>> >>>>> Hi,
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> it would be sooo cool to have a configuration in the catalog…
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> Esteban
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко <[hidden email]>
>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>> [hidden email]>:
>>
>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>> >>>> <[hidden email]>
>>> >>>> :
>>> >>>>
>>> >>>>> 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:[hidden email]]
>>> >>>>> *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
>>> >>>>> <[hidden email]>:
>>> >>>>>
>>> >>>>> Hi,
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> Esteban
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко <[hidden email]>
>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>> [hidden email]>:
>>>
>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>> >>>> <[hidden email]>
>>>> >>>> :
>>>> >>>>
>>>> >>>>> 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:[hidden email]]
>>>> >>>>> *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
>>>> >>>>> <[hidden email]>:
>>>> >>>>>
>>>> >>>>> Hi,
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> Esteban
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко <[hidden email]>
>>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>>> [hidden email]>:
>>>>
>>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>>> >>>> <[hidden email]>
>>>>> >>>> :
>>>>> >>>>
>>>>> >>>>> 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:[hidden email]]
>>>>> >>>>> *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
>>>>> >>>>> <[hidden email]>:
>>>>> >>>>>
>>>>> >>>>> Hi,
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>> Esteban
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко <[hidden email]>
>>>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>>>> [hidden email]>:
>>>>>
>>>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>>>> >>>> <[hidden email]>
>>>>>> >>>> :
>>>>>> >>>>
>>>>>> >>>>> 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:[hidden email]]
>>>>>> >>>>> *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
>>>>>> >>>>> <[hidden email]>:
>>>>>> >>>>>
>>>>>> >>>>> Hi,
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> Esteban
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>>>> >>>>> <[hidden email]>
>>>>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>>>>> [hidden email]>:
>>>>>>
>>>>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>>>>> >>>> <[hidden email]>
>>>>>>> >>>> :
>>>>>>> >>>>
>>>>>>> >>>>> 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:[hidden email]]
>>>>>>> >>>>> *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
>>>>>>> >>>>> <[hidden email]>:
>>>>>>> >>>>>
>>>>>>> >>>>> Hi,
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> Esteban
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>>
>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>>>>> >>>>> <[hidden email]>
>>>>>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
Answering my own question:

Another value for t is

t="inlineStr"

<row r="1">
<c r="A1" t="inlineStr">
<is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
</c>
</row>

So for the export I will ignore the construction of a file

sharedStrings.xml

at the moment.

On 8/13/15, H. Hirzel <[hidden email]> wrote:

> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>>>>>> [hidden email]>:
>>>>>>>
>>>>>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>>>>>> >>>> <[hidden email]>
>>>>>>>> >>>> :
>>>>>>>> >>>>
>>>>>>>> >>>>> 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:[hidden email]]
>>>>>>>> >>>>> *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
>>>>>>>> >>>>> <[hidden email]>:
>>>>>>>> >>>>>
>>>>>>>> >>>>> Hi,
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>> it would be sooo cool to have a configuration in the catalog…
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>> Esteban
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>>
>>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>>>>>> >>>>> <[hidden email]>
>>>>>>>> >>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Blondeau Vincent
In reply to this post by Hannes Hirzel
Hello,

As preface, I would like to announce that I created a job for the project on Jenkins: https://ci.inria.fr/pharo-contribution/job/Tabular/. This you can check all  your tests are green.

I think the access to an empty cell should be nil.

To answer generally to all the other questions, you can found the standards of the Spreadsheet here: http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_IEC_29500-1_2012.zip

Cheers,
Vincent

        > -----Message d'origine-----
        > De : Pharo-users [mailto:[hidden email]] De la part
        > de H. Hirzel
        > Envoyé : jeudi 13 août 2015 08:51
        > À : Any question about pharo is welcome
        > Objet : Re: [Pharo-users] Tabular: XLSX import
        >
        > 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, Юрий Мироненко <[hidden email]> 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 <
        > > [hidden email]>:
        > >
        > >> 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:[hidden email]] 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 <[hidden email]> 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.mc
        > >> > z
        > >> >
        > >> > Hannes
        > >> >
        > >> >
        > >> >
        > >> > On 8/8/15, stepharo <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
        > >> >>>> <[hidden email]>
        > >> >>>> :
        > >> >>>>
        > >> >>>>> 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-
        > [hidden email]]
        > >> >>>>> *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
        > <[hidden email]>:
        > >> >>>>>
        > >> >>>>> Hi,
        > >> >>>>>
        > >> >>>>>
        > >> >>>>>
        > >> >>>>> it would be sooo cool to have a configuration in the catalog…
        > >> >>>>>
        > >> >>>>>
        > >> >>>>>
        > >> >>>>> Esteban
        > >> >>>>>
        > >> >>>>>
        > >> >>>>>
        > >> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
        > >> >>>>> <[hidden email]>
        > >> >>>>> 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.
        > >> >>>>>
        > >> >>>
        > >> >>
        > >> >>
        > >> >>
        > >> >
        > >>
        > >>
        > >>
        > >>
        > >



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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Blondeau Vincent
In reply to this post by Hannes Hirzel
Hi,

Look at TabularCell>>extractFromXml: to have some hint about the standard values of the parameters.

Don't hesitate to put some comments in the code with the discoveries you made.

Vincent

        > -----Message d'origine-----
        > De : Pharo-users [mailto:[hidden email]] De la part
        > de H. Hirzel
        > Envoyé : jeudi 13 août 2015 12:39
        > À : Any question about pharo is welcome
        > Objet : Re: [Pharo-users] Tabular: XLSX import
        >
        > Answering my own question:
        >
        > Another value for t is
        >
        > t="inlineStr"
        >
        > <row r="1">
        > <c r="A1" t="inlineStr">
        > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c> </row>
        >
        > So for the export I will ignore the construction of a file
        >
        > sharedStrings.xml
        >
        > at the moment.
        >
        > On 8/13/15, H. Hirzel <[hidden email]> wrote:
        > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
        > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
        > HannesHirzel.50.m
        > >>>>> cz
        > >>>>>
        > >>>>> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
        > >>>>>>> [hidden email]>:
        > >>>>>>>
        > >>>>>>>> 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:[hidden email]]
        > >>>>>>>> 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.2
        > >>>>>>>> 7.mcz
        > >>>>>>>>
        > >>>>>>>> I am currently exploring the code and trying to figure out how
        > >>>>>>>> it works.
        > >>>>>>>>
        > >>>>>>>> --Hannes
        > >>>>>>>>
        > >>>>>>>> On 8/8/15, H. Hirzel <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
        > 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
        > >>>>>>>> >>>> <[hidden email]>
        > >>>>>>>> >>>> :
        > >>>>>>>> >>>>
        > >>>>>>>> >>>>> 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:[hidden email]]
        > >>>>>>>> >>>>> *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
        > >>>>>>>> >>>>> <[hidden email]>:
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>> Hi,
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>> it would be sooo cool to have a configuration in the
        > >>>>>>>> >>>>> catalog…
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>> Esteban
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
        > >>>>>>>> >>>>> <[hidden email]>
        > >>>>>>>> >>>>> 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.
        > >>>>>>>> >>>>>
        > >>>>>>>> >>>
        > >>>>>>>> >>
        > >>>>>>>> >>
        > >>>>>>>> >>
        > >>>>>>>> >
        > >>>>>>>>
        > >>>>>>>>
        > >>>>>>>>
        > >>>>>>>>
        > >>>>>>>
        > >>>>>>
        > >>>>>
        > >>>>
        > >>>
        > >>
        > >



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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
In reply to this post by Blondeau Vincent
On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
> Hello,
>
> As preface, I would like to announce that I created a job for the project on
> Jenkins: https://ci.inria.fr/pharo-contribution/job/Tabular/. This you can
> check all  your tests are green.

Excellent!

https://ci.inria.fr/pharo-contribution/job/Tabular/lastCompletedBuild/testReport/

Thank you.

At the moment I do not mind so much if there are yellow and red tests.

I'd like to get more tests to demonstrate what works and what does not.

The package is useful as is at the moment but only for a certain
subset of cases.

Next thing is to get the export of several worksheets working and
round trip testing of it.

As well some cell styles. For example the attached case.


> I think the access to an empty cell should be nil.

OK

But what about

     aCell data

(aCell being nil)

should it still give nil or the empty string?





> To answer generally to all the other questions, you can found the standards
> of the Spreadsheet here:
> http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_IEC_29500-1_2012.zip

Thanks for the link.

I had added

http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm

to the comment of

    TabularObject


As well a link to  a very short summary

http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-from-c-sharp


Is it OK to keep this general documentation in the class comment of
TabularObject?



Regards

Hannes

>
>         > -----Message d'origine-----
>         > De : Pharo-users [mailto:[hidden email]] De
> la part
>         > de H. Hirzel
>         > Envoyé : jeudi 13 août 2015 08:51
>         > À : Any question about pharo is welcome
>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>         >
>         > 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, Юрий Мироненко <[hidden email]> 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 <
>         > > [hidden email]>:
>         > >
>         > >> 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:[hidden email]]
> 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 <[hidden email]> 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.mc
>         > >> > z
>         > >> >
>         > >> > Hannes
>         > >> >
>         > >> >
>         > >> >
>         > >> > On 8/8/15, stepharo <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>         > >> >>>> <[hidden email]>
>         > >> >>>> :
>         > >> >>>>
>         > >> >>>>> 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-
>         > [hidden email]]
>         > >> >>>>> *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
>         > <[hidden email]>:
>         > >> >>>>>
>         > >> >>>>> Hi,
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>> it would be sooo cool to have a configuration in the
> catalog…
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>> Esteban
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>>
>         > >> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>         > >> >>>>> <[hidden email]>
>         > >> >>>>> 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.
>         > >> >>>>>
>         > >> >>>
>         > >> >>
>         > >> >>
>         > >> >>
>         > >> >
>         > >>
>         > >>
>         > >>
>         > >>
>         > >
>
>
>
> 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.
>

TabularCellWithStyle1.xlsx (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Blondeau Vincent


        > -----Message d'origine-----
        > De : Pharo-users [mailto:[hidden email]] De la part
        > de H. Hirzel
        > Envoyé : jeudi 13 août 2015 15:06
        > À : Any question about pharo is welcome
        > Objet : Re: [Pharo-users] Tabular: XLSX import
        >
        > On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
        > > Hello,
        > >
        > > As preface, I would like to announce that I created a job for the
        > > project on
        > > Jenkins: https://ci.inria.fr/pharo-contribution/job/Tabular/. This you
        > > can check all  your tests are green.
        >
        > Excellent!
        >
        > https://ci.inria.fr/pharo-
        > contribution/job/Tabular/lastCompletedBuild/testReport/
        >
        > Thank you.
        >
        > At the moment I do not mind so much if there are yellow and red tests.
        >
        > I'd like to get more tests to demonstrate what works and what does not.
        >
It better to make tests on what is working instead of what is not. But if you want to add failing tests for next features, you can add the pragma <expectedFailure> to put it green and have a better view of what is broke on the Jenkins.

        > The package is useful as is at the moment but only for a certain subset of
        > cases.
        >
        > Next thing is to get the export of several worksheets working and round trip
        > testing of it.
        >
        > As well some cell styles. For example the attached case.
        >
        >
        > > I think the access to an empty cell should be nil.
        >
        > OK
        >
        > But what about
        >
        >      aCell data
        >
        > (aCell being nil)
        >
        > should it still give nil or the empty string?

It should give nil. The string is not an expected representation of an empty cell. You can put formula or strings in a cell, but nil represent the lack of content.
BTW, the cell can be not nil but the content can be... It is the case where the cell has a style defined.

        >
        >
        >
        >
        >
        > > To answer generally to all the other questions, you can found the
        > > standards of the Spreadsheet here:
        > > http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_I
        > > EC_29500-1_2012.zip
        >
        > Thanks for the link.
        >
        > I had added
        >
        > http://www.ecma-
        > international.org/news/TC45_current_work/TC45_available_docs.htm
        >
        > to the comment of
        >
        >     TabularObject
        >
        >
        > As well a link to  a very short summary
        >
        > http://stackoverflow.com/questions/151005/create-excel-xls-and-xlsx-file-
        > from-c-sharp
        >
Nice!
        >
        > Is it OK to keep this general documentation in the class comment of
        > TabularObject?
        >
For me it is, as you have a pointer in the ConfigurationOfTabular that is saying that TabularObject is the main class.
At least, you know where is the doc ;)

Regards,
Vincent

        >
        >
        > Regards
        >
        > Hannes
        >
        > >
        > >         > -----Message d'origine-----
        > >         > De : Pharo-users
        > > [mailto:[hidden email]] De la part
        > >         > de H. Hirzel
        > >         > Envoyé : jeudi 13 août 2015 08:51
        > >         > À : Any question about pharo is welcome
        > >         > Objet : Re: [Pharo-users] Tabular: XLSX import
        > >         >
        > >         > 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, Юрий Мироненко <[hidden email]> 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 <
        > >         > > [hidden email]>:
        > >         > >
        > >         > >> 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:[hidden email]]
        > > 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 <[hidden email]> 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.mc
        > >         > >> > z
        > >         > >> >
        > >         > >> > Hannes
        > >         > >> >
        > >         > >> >
        > >         > >> >
        > >         > >> > On 8/8/15, stepharo <[hidden email]> 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, Юрий Мироненко <[hidden email]>
        > 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
        > >         > >> >>>> <[hidden email]>
        > >         > >> >>>> :
        > >         > >> >>>>
        > >         > >> >>>>> 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-
        > >         > [hidden email]]
        > >         > >> >>>>> *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
        > >         > <[hidden email]>:
        > >         > >> >>>>>
        > >         > >> >>>>> Hi,
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>> it would be sooo cool to have a configuration in
        > > the catalog…
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>> Esteban
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>>
        > >         > >> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
        > >         > >> >>>>> <[hidden email]>
        > >         > >> >>>>> 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.
        > >         > >> >>>>>
        > >         > >> >>>
        > >         > >> >>
        > >         > >> >>
        > >         > >> >>
        > >         > >> >
        > >         > >>
        > >         > >>
        > >         > >>
        > >         > >>
        > >         > >
        > >
        > >
        > >
        > > 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.
        > >


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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Ben Coman
On Thu, Aug 13, 2015 at 10:37 PM, Blondeau Vincent
<[hidden email]> wrote:

>
>         > -----Message d'origine-----
>         > De : Pharo-users [mailto:[hidden email]] De la part
>         > de H. Hirzel
>         > Envoyé : jeudi 13 août 2015 15:06
>         > À : Any question about pharo is welcome
>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>         >
>         > On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
>         >
>         > > I think the access to an empty cell should be nil.
>         >
>         > OK
>         >
>         > But what about
>         >
>         >      aCell data
>         >
>         > (aCell being nil)
>         >
>         > should it still give nil or the empty string?
>
> It should give nil. The string is not an expected representation of an empty cell. You can put formula or strings in a cell, but nil represent the lack of content.
> BTW, the cell can be not nil but the content can be... It is the case where the cell has a style defined.
>

Wouldn't it be better now at the beginning to return an EmptyCell
object. Then at some random time later someone wanting to add
functionality that you can't imagine now can add ivars and methods to
that class.  Also think about a future application evaluating cell A3
holding formula "=A1+A2" where A2 is empty.  Do you really want your
library users to shoulder the burden of #isNil guarding each cell
reference instead of having...

    EmptyCell >> value
         ^0

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Vincent Blondeau
Indeed that is better idea!

Thanks Ben,

Vincent

-----Message d'origine-----
De : Pharo-users [mailto:[hidden email]] De la part de Ben Coman
Envoyé : jeudi 13 août 2015 19:13
À : Any question about pharo is welcome
Objet : Re: [Pharo-users] Tabular: XLSX import

On Thu, Aug 13, 2015 at 10:37 PM, Blondeau Vincent <[hidden email]> wrote:

>
>         > -----Message d'origine-----
>         > De : Pharo-users
> [mailto:[hidden email]] De la part
>         > de H. Hirzel
>         > Envoyé : jeudi 13 août 2015 15:06
>         > À : Any question about pharo is welcome
>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>         >
>         > On 8/13/15, Blondeau Vincent
> <[hidden email]>
> wrote:
>         >
>         > > I think the access to an empty cell should be nil.
>         >
>         > OK
>         >
>         > But what about
>         >
>         >      aCell data
>         >
>         > (aCell being nil)
>         >
>         > should it still give nil or the empty string?
>
> It should give nil. The string is not an expected representation of an
> empty cell. You can put formula or strings in a cell, but nil
> represent the lack of content.
> BTW, the cell can be not nil but the content can be... It is the case
> where the cell has a style defined.
>

Wouldn't it be better now at the beginning to return an EmptyCell object. Then at some random time later someone wanting to add functionality that you can't imagine now can add ivars and methods to that class.  Also think about a future application evaluating cell A3 holding formula "=A1+A2" where A2 is empty.  Do you really want your library users to shoulder the burden of #isNil guarding each cell reference instead of having...

    EmptyCell >> value
         ^0

cheers -ben



Reply | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
In reply to this post by Blondeau Vincent
On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
> Hi,
>
> Look at TabularCell>>extractFromXml: to have some hint about the standard
> values of the parameters.

I factores out  self extractDataFromXml: aXMLElement.

extractFromXml: aXMLElement

        self style: (aXMLElement attributeAt: 's') asString.
        self type: ((aXMLElement attributeAt: 't') asString ifEmpty: [ nil ]).
     self extractDataFromXml: aXMLElement.
        self formula: ((aXMLElement elementAt: 'f') ifNotNil: [ :e | e
firstNode asString ])




extractDataFromXml: aXMLElement
        self
                data:
                        (self type = 's'
                                ifTrue: [ (self stringAt: ((aXMLElement elementAt: 'v') ifNotNil:
[ :e | e firstNode ifNotNil: [ :s | s asString ] ])) asString ]
                                ifFalse: [ (aXMLElement elementAt: 'v') ifNotNil: [ :e | e
firstNode ifNotNil: [ :s | s asString ] ] ])


type may be 's'  (for shared string) or 'inline' for inline string.
But what is 'v'?

In the case of a inline string I have for example

<row r="1">
<c r="A1" t="inlineStr">
<is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
</c>

I'd like to compile a short summary of the meaning of these one-letter tags.



> Don't hesitate to put some comments in the code with the discoveries you
> made.

Sure


> Vincent
>
>         > -----Message d'origine-----
>         > De : Pharo-users [mailto:[hidden email]] De
> la part
>         > de H. Hirzel
>         > Envoyé : jeudi 13 août 2015 12:39
>         > À : Any question about pharo is welcome
>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>         >
>         > Answering my own question:
>         >
>         > Another value for t is
>         >
>         > t="inlineStr"
>         >
>         > <row r="1">
>         > <c r="A1" t="inlineStr">
>         > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c> </row>
>         >
>         > So for the export I will ignore the construction of a file
>         >
>         > sharedStrings.xml
>         >
>         > at the moment.
>         >
>         > On 8/13/15, H. Hirzel <[hidden email]> wrote:
>         > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>         > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
>         > HannesHirzel.50.m
>         > >>>>> cz
>         > >>>>>
>         > >>>>> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>         > >>>>>>> [hidden email]>:
>         > >>>>>>>
>         > >>>>>>>> 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:[hidden email]]
>         > >>>>>>>> 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.2
>         > >>>>>>>> 7.mcz
>         > >>>>>>>>
>         > >>>>>>>> I am currently exploring the code and trying to figure
> out how
>         > >>>>>>>> it works.
>         > >>>>>>>>
>         > >>>>>>>> --Hannes
>         > >>>>>>>>
>         > >>>>>>>> On 8/8/15, H. Hirzel <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
>         > 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
>         > >>>>>>>> >>>> <[hidden email]>
>         > >>>>>>>> >>>> :
>         > >>>>>>>> >>>>
>         > >>>>>>>> >>>>> 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:[hidden email]]
>         > >>>>>>>> >>>>> *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
>         > >>>>>>>> >>>>> <[hidden email]>:
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>> Hi,
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>> it would be sooo cool to have a configuration in
> the
>         > >>>>>>>> >>>>> catalog…
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>> Esteban
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>         > >>>>>>>> >>>>> <[hidden email]>
>         > >>>>>>>> >>>>> 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.
>         > >>>>>>>> >>>>>
>         > >>>>>>>> >>>
>         > >>>>>>>> >>
>         > >>>>>>>> >>
>         > >>>>>>>> >>
>         > >>>>>>>> >
>         > >>>>>>>>
>         > >>>>>>>>
>         > >>>>>>>>
>         > >>>>>>>>
>         > >>>>>>>
>         > >>>>>>
>         > >>>>>
>         > >>>>
>         > >>>
>         > >>
>         > >
>
>
>
> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
Found the information on page 1600 of
http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_IEC_29500-1_2012.zip

18.3.1.4
c (Cell)



On 8/14/15, H. Hirzel <[hidden email]> wrote:

> On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
>> Hi,
>>
>> Look at TabularCell>>extractFromXml: to have some hint about the standard
>> values of the parameters.
>
> I factores out  self extractDataFromXml: aXMLElement.
>
> extractFromXml: aXMLElement
>
> self style: (aXMLElement attributeAt: 's') asString.
> self type: ((aXMLElement attributeAt: 't') asString ifEmpty: [ nil ]).
>      self extractDataFromXml: aXMLElement.
> self formula: ((aXMLElement elementAt: 'f') ifNotNil: [ :e | e
> firstNode asString ])
>
>
>
>
> extractDataFromXml: aXMLElement
> self
> data:
> (self type = 's'
> ifTrue: [ (self stringAt: ((aXMLElement elementAt: 'v') ifNotNil:
> [ :e | e firstNode ifNotNil: [ :s | s asString ] ])) asString ]
> ifFalse: [ (aXMLElement elementAt: 'v') ifNotNil: [ :e | e
> firstNode ifNotNil: [ :s | s asString ] ] ])
>
>
> type may be 's'  (for shared string) or 'inline' for inline string.
> But what is 'v'?
>
> In the case of a inline string I have for example
>
> <row r="1">
> <c r="A1" t="inlineStr">
> <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
> </c>
>
> I'd like to compile a short summary of the meaning of these one-letter
> tags.
>
>
>
>> Don't hesitate to put some comments in the code with the discoveries you
>> made.
>
> Sure
>
>
>> Vincent
>>
>>         > -----Message d'origine-----
>>         > De : Pharo-users [mailto:[hidden email]]
>> De
>> la part
>>         > de H. Hirzel
>>         > Envoyé : jeudi 13 août 2015 12:39
>>         > À : Any question about pharo is welcome
>>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>>         >
>>         > Answering my own question:
>>         >
>>         > Another value for t is
>>         >
>>         > t="inlineStr"
>>         >
>>         > <row r="1">
>>         > <c r="A1" t="inlineStr">
>>         > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c>
>> </row>
>>         >
>>         > So for the export I will ignore the construction of a file
>>         >
>>         > sharedStrings.xml
>>         >
>>         > at the moment.
>>         >
>>         > On 8/13/15, H. Hirzel <[hidden email]> wrote:
>>         > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>>         > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
>>         > HannesHirzel.50.m
>>         > >>>>> cz
>>         > >>>>>
>>         > >>>>> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>         > >>>>>>> [hidden email]>:
>>         > >>>>>>>
>>         > >>>>>>>> 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:[hidden email]]
>>         > >>>>>>>> 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.2
>>         > >>>>>>>> 7.mcz
>>         > >>>>>>>>
>>         > >>>>>>>> I am currently exploring the code and trying to figure
>> out how
>>         > >>>>>>>> it works.
>>         > >>>>>>>>
>>         > >>>>>>>> --Hannes
>>         > >>>>>>>>
>>         > >>>>>>>> On 8/8/15, H. Hirzel <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
>>         > 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
>>         > >>>>>>>> >>>> <[hidden email]>
>>         > >>>>>>>> >>>> :
>>         > >>>>>>>> >>>>
>>         > >>>>>>>> >>>>> 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:[hidden email]]
>>         > >>>>>>>> >>>>> *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
>>         > >>>>>>>> >>>>> <[hidden email]>:
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>> Hi,
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>> it would be sooo cool to have a configuration in
>> the
>>         > >>>>>>>> >>>>> catalog…
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>> Esteban
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>         > >>>>>>>> >>>>> <[hidden email]>
>>         > >>>>>>>> >>>>> 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.
>>         > >>>>>>>> >>>>>
>>         > >>>>>>>> >>>
>>         > >>>>>>>> >>
>>         > >>>>>>>> >>
>>         > >>>>>>>> >>
>>         > >>>>>>>> >
>>         > >>>>>>>>
>>         > >>>>>>>>
>>         > >>>>>>>>
>>         > >>>>>>>>
>>         > >>>>>>>
>>         > >>>>>>
>>         > >>>>>
>>         > >>>>
>>         > >>>
>>         > >>
>>         > >
>>
>>
>>
>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
Vicent

It seems that there are two importing methods implemented in the subpackage

Tabular-Importers

TabularCell>>extractFromXml: aXMLElement

and above it

TabularWorksheet>>extractContentsFromXml: aXMLDocument

is actually never called.

So actually I was fixing the wrong method for dealing with inline strings.

XLSXImporter>>import:

takes another road

import: aStream
        archive := ZipArchive new readFrom: aStream.
        workbook := TabularWorkbook new.
        "self extractStyles."
        self extractSharedStrings.
        self extractWorksheets.

        self resolveSharedStrings.
        ^ workbook

Through XLSXSheetParser, which seems to be independant.



Is this correct?

--Hannes


On 8/14/15, H. Hirzel <[hidden email]> wrote:

> Found the information on page 1600 of
> http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_IEC_29500-1_2012.zip
>
> 18.3.1.4
> c (Cell)
>
>
>
> On 8/14/15, H. Hirzel <[hidden email]> wrote:
>> On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
>>> Hi,
>>>
>>> Look at TabularCell>>extractFromXml: to have some hint about the
>>> standard
>>> values of the parameters.
>>
>> I factores out  self extractDataFromXml: aXMLElement.
>>
>> extractFromXml: aXMLElement
>>
>> self style: (aXMLElement attributeAt: 's') asString.
>> self type: ((aXMLElement attributeAt: 't') asString ifEmpty: [ nil ]).
>>      self extractDataFromXml: aXMLElement.
>> self formula: ((aXMLElement elementAt: 'f') ifNotNil: [ :e | e
>> firstNode asString ])
>>
>>
>>
>>
>> extractDataFromXml: aXMLElement
>> self
>> data:
>> (self type = 's'
>> ifTrue: [ (self stringAt: ((aXMLElement elementAt: 'v') ifNotNil:
>> [ :e | e firstNode ifNotNil: [ :s | s asString ] ])) asString ]
>> ifFalse: [ (aXMLElement elementAt: 'v') ifNotNil: [ :e | e
>> firstNode ifNotNil: [ :s | s asString ] ] ])
>>
>>
>> type may be 's'  (for shared string) or 'inline' for inline string.
>> But what is 'v'?
>>
>> In the case of a inline string I have for example
>>
>> <row r="1">
>> <c r="A1" t="inlineStr">
>> <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
>> </c>
>>
>> I'd like to compile a short summary of the meaning of these one-letter
>> tags.
>>
>>
>>
>>> Don't hesitate to put some comments in the code with the discoveries you
>>> made.
>>
>> Sure
>>
>>
>>> Vincent
>>>
>>>         > -----Message d'origine-----
>>>         > De : Pharo-users [mailto:[hidden email]]
>>> De
>>> la part
>>>         > de H. Hirzel
>>>         > Envoyé : jeudi 13 août 2015 12:39
>>>         > À : Any question about pharo is welcome
>>>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>>>         >
>>>         > Answering my own question:
>>>         >
>>>         > Another value for t is
>>>         >
>>>         > t="inlineStr"
>>>         >
>>>         > <row r="1">
>>>         > <c r="A1" t="inlineStr">
>>>         > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c>
>>> </row>
>>>         >
>>>         > So for the export I will ignore the construction of a file
>>>         >
>>>         > sharedStrings.xml
>>>         >
>>>         > at the moment.
>>>         >
>>>         > On 8/13/15, H. Hirzel <[hidden email]> wrote:
>>>         > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>>>         > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
>>>         > HannesHirzel.50.m
>>>         > >>>>> cz
>>>         > >>>>>
>>>         > >>>>> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
>>> 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 <
>>>         > >>>>>>> [hidden email]>:
>>>         > >>>>>>>
>>>         > >>>>>>>> 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:[hidden email]]
>>>         > >>>>>>>> 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.2
>>>         > >>>>>>>> 7.mcz
>>>         > >>>>>>>>
>>>         > >>>>>>>> I am currently exploring the code and trying to
>>> figure
>>> out how
>>>         > >>>>>>>> it works.
>>>         > >>>>>>>>
>>>         > >>>>>>>> --Hannes
>>>         > >>>>>>>>
>>>         > >>>>>>>> On 8/8/15, H. Hirzel <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
>>>         > 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
>>>         > >>>>>>>> >>>> <[hidden email]>
>>>         > >>>>>>>> >>>> :
>>>         > >>>>>>>> >>>>
>>>         > >>>>>>>> >>>>> 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:[hidden email]]
>>>         > >>>>>>>> >>>>> *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
>>>         > >>>>>>>> >>>>> <[hidden email]>:
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>> Hi,
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>> it would be sooo cool to have a configuration
>>> in
>>> the
>>>         > >>>>>>>> >>>>> catalog…
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>> Esteban
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>         > >>>>>>>> >>>>> <[hidden email]>
>>>         > >>>>>>>> >>>>> 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.
>>>         > >>>>>>>> >>>>>
>>>         > >>>>>>>> >>>
>>>         > >>>>>>>> >>
>>>         > >>>>>>>> >>
>>>         > >>>>>>>> >>
>>>         > >>>>>>>> >
>>>         > >>>>>>>>
>>>         > >>>>>>>>
>>>         > >>>>>>>>
>>>         > >>>>>>>>
>>>         > >>>>>>>
>>>         > >>>>>>
>>>         > >>>>>
>>>         > >>>>
>>>         > >>>
>>>         > >>
>>>         > >
>>>
>>>
>>>
>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

stepharo
In reply to this post by Hannes Hirzel


Le 13/8/15 11:38, H. Hirzel a écrit :
> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.52.mcz
> 47 test run, 37 passes.

Nice :)

>
>
> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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 <
>>>>> [hidden email]>:
>>>>>
>>>>>> 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:[hidden email]] 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 <[hidden email]> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]> 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
>>>>>>>>>> <[hidden email]>
>>>>>>>>>> :
>>>>>>>>>>
>>>>>>>>>>> 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:[hidden email]]
>>>>>>>>>>> *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
>>>>>>>>>>> <[hidden email]>:
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> it would be sooo cool to have a configuration in the catalog…
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Esteban
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко <[hidden email]>
>>>>>>>>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
In reply to this post by Hannes Hirzel
On 8/14/15, H. Hirzel <[hidden email]> wrote:

> Vicent
>
> It seems that there are two importing methods implemented in the subpackage
>
> Tabular-Importers
>
> TabularCell>>extractFromXml: aXMLElement
>
> and above it
>
> TabularWorksheet>>extractContentsFromXml: aXMLDocument
>
> is actually never called.
>
> So actually I was fixing the wrong method for dealing with inline strings.
>
> XLSXImporter>>import:
>
> takes another road
>
> import: aStream
> archive := ZipArchive new readFrom: aStream.
> workbook := TabularWorkbook new.
> "self extractStyles."
> self extractSharedStrings.
> self extractWorksheets.
>
> self resolveSharedStrings.
> ^ workbook
>
> Through XLSXSheetParser, which seems to be independant.
>
>
>
> Is this correct?
>
> --Hannes

CONFIRMED: there are two import methods.

The currently in use is

extractWorksheetsList
| list |
        list:=XLSXWorkbookParser parse: (archive memberNamed:
'xl/workbook.xml') contentStream.
        sheetsToExtract ifNotNil:[list := list associationsSelect: [:assoc|
sheetsToExtract includes: assoc value] ].
        ^list.

And the
XLSXWorkbookParser

uses the

XLSXSheetParser

with the main method where the cell parsing activity happens

XLSXSheetParser>>c_start: properties
|cell coord|
        cell := TabularCell new.
        properties at: #s ifPresent:[:styleId| cell style: styleId]. "Should
be substituted by actual style upon finalisation"
        properties at: #t ifPresent:[:type| cell attributeAt: 'xlsx:t' put: type].

        properties at: #r ifPresent: [:r| coord := r asPoint].
        coord
                ifNil: [ coord := colCounter @ rowCounter  ]
                ifNotNil: [ colCounter := coord x ]. "It's expected that row of r
attribute is always points to current row. If it is not - have no idea
how to manage this"
       
        self worksheet cells
                at: coord
                put: cell.
               
        parsingStack push: cell.

So the fix for inline string parsing has to be around here somewhere.

Adding inline string parsing to the importer is important because then
we can do round trips.

Create Tabular Model / Export / Import.

Of course the alternative is to add the sharedString.xml generation to
the export function which I might do later.

But I'd like to avoid that for the moment as space efficiency for
storing strings is not so much an issue if the file is put into a zip
file.

What counts more is the readability of the generated code for visual
checks. We are dealing with a specification which has several thousand
pages!

--Hannes

>
> On 8/14/15, H. Hirzel <[hidden email]> wrote:
>> Found the information on page 1600 of
>> http://standards.iso.org/ittf/PubliclyAvailableStandards/c061750_ISO_IEC_29500-1_2012.zip
>>
>> 18.3.1.4
>> c (Cell)
>>
>>
>>
>> On 8/14/15, H. Hirzel <[hidden email]> wrote:
>>> On 8/13/15, Blondeau Vincent <[hidden email]> wrote:
>>>> Hi,
>>>>
>>>> Look at TabularCell>>extractFromXml: to have some hint about the
>>>> standard
>>>> values of the parameters.
>>>
>>> I factores out  self extractDataFromXml: aXMLElement.
>>>
>>> extractFromXml: aXMLElement
>>>
>>> self style: (aXMLElement attributeAt: 's') asString.
>>> self type: ((aXMLElement attributeAt: 't') asString ifEmpty: [ nil ]).
>>>      self extractDataFromXml: aXMLElement.
>>> self formula: ((aXMLElement elementAt: 'f') ifNotNil: [ :e | e
>>> firstNode asString ])
>>>
>>>
>>>
>>>
>>> extractDataFromXml: aXMLElement
>>> self
>>> data:
>>> (self type = 's'
>>> ifTrue: [ (self stringAt: ((aXMLElement elementAt: 'v') ifNotNil:
>>> [ :e | e firstNode ifNotNil: [ :s | s asString ] ])) asString ]
>>> ifFalse: [ (aXMLElement elementAt: 'v') ifNotNil: [ :e | e
>>> firstNode ifNotNil: [ :s | s asString ] ] ])
>>>
>>>
>>> type may be 's'  (for shared string) or 'inline' for inline string.
>>> But what is 'v'?
>>>
>>> In the case of a inline string I have for example
>>>
>>> <row r="1">
>>> <c r="A1" t="inlineStr">
>>> <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is>
>>> </c>
>>>
>>> I'd like to compile a short summary of the meaning of these one-letter
>>> tags.
>>>
>>>
>>>
>>>> Don't hesitate to put some comments in the code with the discoveries
>>>> you
>>>> made.
>>>
>>> Sure
>>>
>>>
>>>> Vincent
>>>>
>>>>         > -----Message d'origine-----
>>>>         > De : Pharo-users [mailto:[hidden email]]
>>>> De
>>>> la part
>>>>         > de H. Hirzel
>>>>         > Envoyé : jeudi 13 août 2015 12:39
>>>>         > À : Any question about pharo is welcome
>>>>         > Objet : Re: [Pharo-users] Tabular: XLSX import
>>>>         >
>>>>         > Answering my own question:
>>>>         >
>>>>         > Another value for t is
>>>>         >
>>>>         > t="inlineStr"
>>>>         >
>>>>         > <row r="1">
>>>>         > <c r="A1" t="inlineStr">
>>>>         > <is><t>abcdefghijklmnopqrstuvwxyz 1234567890</t></is> </c>
>>>> </row>
>>>>         >
>>>>         > So for the export I will ignore the construction of a file
>>>>         >
>>>>         > sharedStrings.xml
>>>>         >
>>>>         > at the moment.
>>>>         >
>>>>         > On 8/13/15, H. Hirzel <[hidden email]> wrote:
>>>>         > > 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>>>>         > >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-
>>>>         > HannesHirzel.50.m
>>>>         > >>>>> cz
>>>>         > >>>>>
>>>>         > >>>>> 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 <[hidden email]> 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, Юрий Мироненко <[hidden email]>
>>>> 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 <
>>>>         > >>>>>>> [hidden email]>:
>>>>         > >>>>>>>
>>>>         > >>>>>>>> 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:[hidden email]]
>>>>         > >>>>>>>> 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.2
>>>>         > >>>>>>>> 7.mcz
>>>>         > >>>>>>>>
>>>>         > >>>>>>>> I am currently exploring the code and trying to
>>>> figure
>>>> out how
>>>>         > >>>>>>>> it works.
>>>>         > >>>>>>>>
>>>>         > >>>>>>>> --Hannes
>>>>         > >>>>>>>>
>>>>         > >>>>>>>> On 8/8/15, H. Hirzel <[hidden email]>
>>>> 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 <[hidden email]> 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, Юрий Мироненко
>>>> <[hidden email]>
>>>>         > 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
>>>>         > >>>>>>>> >>>> <[hidden email]>
>>>>         > >>>>>>>> >>>> :
>>>>         > >>>>>>>> >>>>
>>>>         > >>>>>>>> >>>>> 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:[hidden email]]
>>>>         > >>>>>>>> >>>>> *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
>>>>         > >>>>>>>> >>>>> <[hidden email]>:
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>> Hi,
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>> it would be sooo cool to have a configuration
>>>> in
>>>> the
>>>>         > >>>>>>>> >>>>> catalog…
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>> Esteban
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>>> On 01 Aug 2015, at 20:58, Юрий Мироненко
>>>>         > >>>>>>>> >>>>> <[hidden email]>
>>>>         > >>>>>>>> >>>>> 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.
>>>>         > >>>>>>>> >>>>>
>>>>         > >>>>>>>> >>>
>>>>         > >>>>>>>> >>
>>>>         > >>>>>>>> >>
>>>>         > >>>>>>>> >>
>>>>         > >>>>>>>> >
>>>>         > >>>>>>>>
>>>>         > >>>>>>>>
>>>>         > >>>>>>>>
>>>>         > >>>>>>>>
>>>>         > >>>>>>>
>>>>         > >>>>>>
>>>>         > >>>>>
>>>>         > >>>>
>>>>         > >>>
>>>>         > >>
>>>>         > >
>>>>
>>>>
>>>>
>>>> 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 | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
In reply to this post by Ben Coman
On 8/2/15, Ben Coman <[hidden email]> wrote:
> Cool.  I might have a use for this soon.
> cheers -ben

Hello Ben

The standard to implement is huge. We are dealing with a subset.

Example test documents I consider using are here

http://www.openoffice.org/sc/testdocs/index.html

(all which are labeled 'XML')

What we have so far in the tabular package is quite usable, depending
on the project.

My interest for next steps are

a. get round trip :
      1. create tabular model
      2. export workbook
      3. import workbook
    working fine.
    (the issue is inline string parsing currently but I will soon be there)

b. cell styles

c. multiple worksheets on export (currently limited to one with a fix
name; import
   can deal with several worksheets in a workbook)

-- Hannes




> On Sun, Aug 2, 2015 at 2:58 AM, Юрий Мироненко <[hidden email]>
> wrote:
>> Hello.
>> Some time ago I announced Tabular, 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!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Tabular: XLSX import

Hannes Hirzel
I am now looking for the place in the SAX parser where the cell
content is assigned.


Test script (debug it)

|wbk wsheet  wimported cell fname4|
     fname4 := 'TabularConstructed4Exported.xlsx'.
        wbk := TabularWorkbook new.
        self assert:  (wbk worksheets isEmpty).
               
        wsheet := TabularWorksheet new.
        wsheet
                at: 1 @ 1 putData: 'abc 11';
                at: 2 @ 1 putData: 'def 21';
                at: 3 @ 1 putData: 'ghi 31'.
        wbk worksheets add: wsheet.
        TabularXSLXExport workbook: wbk fileName: fname4.

        wimported := XLSXImporter import: (FileLocator home / fname4 ) .
        cell := ((wimported worksheetNamed: 'Sheet1') at: 1@1).

Put a halt into
TabularWorksheet>>at:putCell:

to come near the place. The cell attributes are there (inline string
in this case)

But I did not find the exact place where the cell content  'abc 11' is assigned.

Any help?

--Hannes

On 8/14/15, H. Hirzel <[hidden email]> wrote:

> On 8/2/15, Ben Coman <[hidden email]> wrote:
>> Cool.  I might have a use for this soon.
>> cheers -ben
>
> Hello Ben
>
> The standard to implement is huge. We are dealing with a subset.
>
> Example test documents I consider using are here
>
> http://www.openoffice.org/sc/testdocs/index.html
>
> (all which are labeled 'XML')
>
> What we have so far in the tabular package is quite usable, depending
> on the project.
>
> My interest for next steps are
>
> a. get round trip :
>       1. create tabular model
>       2. export workbook
>       3. import workbook
>     working fine.
>     (the issue is inline string parsing currently but I will soon be there)
>
> b. cell styles
>
> c. multiple worksheets on export (currently limited to one with a fix
> name; import
>    can deal with several worksheets in a workbook)
>
> -- Hannes
>
>
>
>
>> On Sun, Aug 2, 2015 at 2:58 AM, Юрий Мироненко <[hidden email]>
>> wrote:
>>> Hello.
>>> Some time ago I announced Tabular, 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!
>>
>>
>

123