Download it now!
Bug 123139 - Reading XLSX format ignores horizontal alignment (generated wit Apache POI Java library)
Summary: Reading XLSX format ignores horizontal alignment (generated wit Apache POI J...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
4.2.8.2 release
Hardware: x86 (IA32) All
: medium trivial
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, filter:xlsx, regression
Depends on:
Blocks: XLSX
  Show dependency treegraph
 
Reported: 2019-02-03 09:51 UTC by Yuichi Sugimura
Modified: 2020-02-28 22:06 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Calc ignores horizontal alignment of this XLSX (3.26 KB, application/zip)
2019-02-03 09:51 UTC, Yuichi Sugimura
Details
compare excel and LO 6.3 (44.00 KB, image/png)
2019-02-04 16:31 UTC, raal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yuichi Sugimura 2019-02-03 09:51:00 UTC
Created attachment 148870 [details]
Calc ignores horizontal alignment of this XLSX

I don't have full confidence wheather this is a bug or not because I don't have Microsoft Excel.
Anyway I've created a very simple XLSX file using Apache POI Java library. But LibreOffice Calc ignores horizontal alignment of cells.

It seems that this file completely conforms XLSX format. I checked its styles.xml and sheet1.xml file in the attached XLSX file.
Comment 1 raal 2019-02-04 16:30:41 UTC
I can confirm that result is different than in excel2010, althought I cannot reproduce it with file created in excel. So it's related to  Apache POI Java library.

Version: 6.3.0.0.alpha0+
Build ID: 1ac54de7869d5809a312acad0a37d48028ad9d3b
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; 


regression, in version Version 4.1.0.0.alpha0+ (Build ID: efca6f15609322f62a35619619a6d5fe5c9bd5a)  is the result same as in excel.
Comment 2 raal 2019-02-04 16:31:12 UTC
Created attachment 148883 [details]
compare excel and LO 6.3
Comment 3 raal 2019-02-04 20:49:08 UTC
This seems to have begun at the below commit.
Adding Cc: to Noel Power ; Could you possibly take a look at this one?
Thanks

7768846a5953a624076782f3cc0fbdcca5f5c160 is the first bad commit
commit 7768846a5953a624076782f3cc0fbdcca5f5c160
Author: Matthew Francis <mjay.francis@gmail.com>
Date:   Sat Sep 5 17:55:40 2015 +0800

    source-hash-bf8e9b29aaebcbdd8f2f06b42ac97b8d9f8f4503
    
    commit bf8e9b29aaebcbdd8f2f06b42ac97b8d9f8f4503
    Author:     Noel Power <noel.power@suse.com>
    AuthorDate: Wed May 22 10:00:34 2013 +0100
    Commit:     Noel Power <noel.power@suse.com>
    CommitDate: Wed May 22 10:03:26 2013 +0100
    
        fix for bnc#819865 itemstate in parent style incorrectly reported as set
    
        Problem occurs because attrs set with default values are reported as set when queried
    
        Change-Id: I89d6c3b09312fb78052d87ff20aa12c6fbe7bc98
Comment 4 SheetJS 2020-02-28 22:06:29 UTC
Running into this issue with spreadsheets generated by SheetJS Pro.

In the <xf> records, Excel assumes that applyAlignment is true if an <alignment> child is present.  You are expected to specify applyAlignment="0" if alignment does not apply.

LibreOffice (including the latest version 6.4.1.2) assumes that applyAlignment is false even if an <alignment> child is present.  The default behavior is incorrect.

To verify this is the root cause, you can take the original sample file and add the applyAlignment="1" attribute to the <cellXfs> <xf> tag:

```xml
    <xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0" applyAlignment="1">
      <alignment horizontal="left"/>
    </xf>
```