> Hello,
   > I exchange ODS and XLS files between the French Canadian (decimal
   > separator « , ») and English US/Canada locales (decimal separator « .
   > ») without issues. When the number is already in a cell on a worksheet,
   > the application will use the locale to display a decimal number in the
   > correct way.

   > However, you cannot transfer files in text format (such as CSV)
   > directly from one to the other because the formatting of the decimal
   > numbers will conform to the current locale when the file is created: if
   > I import a CSV file created from the "English" version, afer the import
   > I must do a global replace of « . » to « , » to make numbers become
   > numbers again. Also, when going the other way, the CSV separator is
   > usually a « ; » to allow decimal numbers to contain a comma as decimal
   > separator, which is something Excel does not always handle very well.


Ok maybe I mixed CSV with excel files and that is where my confusion
starts. You are right the xlsx format seems pretty save.


   > So far, the best way I found is to save as XLS (or XLSX) from LO (Excel
   > considers ODS files as "broken" and does not preserve formulas), do the
   > changes in Excel, then open the XLS file in LO and save in ODS. Just
   > remember here that some page and cell formatting may be lost in the
   > exchange, so do not attempt anything fancy on that front :-).

Still the excel files, when opened in excel contain cells with small
green edges, which according to the documentation is a indication of
possible format violation.


   > If you use formulas that format numbers (=TEXT()), you will need to
   > have some intelligence to use the proper separator when encoding the
   > number format (more so for Excel than for LO). What I usually do is
   > have a cell that I name SEP that contains a formula like this:

   > =IF(ISNUM("3.4");".";",")

   > Then when I need to format a value with the =TEXT() function, I use it
   > this way to have a number with one decimal digit:

   > =TEXT(value;"0"&SEP&"0") or, if you prefer,
   > =TEXT(value;CONCATENATE("0";SEP;"0"))

   > In English locales, this translates to: =TEXT(value;"0.0"); in the non-
   > English locale, it becomes =TEXT(value;"0,0")

   > I hope this helps.

Thanks it does, will try to avoid to use the TEXT function, though.

Uwe Brauer 


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

Reply via email to