Created attachment 63721 [details] file with a problem Cells B14 to B17 don't seem to be imported properly. Works fine in 3.5.3, doesn't work in 3.6b2
Created attachment 63722 [details] Screenshot from XL2003
@Valek Filippov Please contribute more precise information. "Doesn't seem ... properly" is not very useful.
2Rainer: open it in LO 3.5, gnumeric, XL or XL Viewer and compare.
[Reproducible] with reporter's sample and "LibreOffice 3.5.5.2. German UI/Locale [Build-ID: 24b32b4-b87ec2e-85c8e98-87a4e20-9a1b8c1] on German WIN7 Home Premium (64bit) Steps how to reproduce with parallel installation of Master "LOdev " 3.7.0.0.alpha0+ - WIN7 Home Premium (64bit) ENGLISH UI [Build ID: 3985521]" (tinderbox: W2008R2@16-minimal_build, pull time 2012-06-24) 1. open new CALC document from LibO Start Center 2. Select B10:B20 3. Type "=row()" > will show "row()" function in B10 4. <control+shift+Enter> Creates matrix {row()} for B10:B20, showing row number 5. Save as "sample.ods" 6. Save as "sample.xls" (MSO97) 7. Close all documents 8. Open both "sample.xxx" documents (one by one) Bug: in "sample.xls" B10 shows "FALSE", other row results are "#NV" (also saw: "#N/A") Works fine with "sample.ods" In attached "370fromscratch.xls" often scrolling down until values invisible and scrolling back heals the problem. Always inserting a row anywhere above or below matrix healed the problem for me. Already Reproducible --------------------- 3.6.0.0.beta1 Server installation of Master "LOdev 3.6.0alpha0+ – WIN7 Home Premium (64bit) ENGLISH UI [Build ID: 7175cee]" (tinderbox: Win-x86@6-fast, pull time 2012-05-16 22:07:37) Still worked fine ----------------- Server installation of Master "LOdev 3.6.0alpha0+ – WIN7 Home Premium (64bit) ENGLISH UI [Build ID: 475d0c5-829fc92-39746e8-206648e-fefd87]" (2012-02-14) @Kohei, @Markus: Please set Status to ASSIGNED and add yourself to "Assigned To" if you accept this Bug
Created attachment 63765 [details] Simplyfied Sample See Comment 4
During interpret for B10 the ScFormulaResult::GetMatrixFormulaCellToken() in ScFormulaCell::GetMatColsRows() returns a formula::svHybridCell, hence the nCols and nRows are 0 and a 1x0 matrix is created in ScInterpreter::GetNewMat() from ScInterpreter::ScRow() The following calls to ScInterpreter::ScMatRef() for B11:B30 then of course don't find a valid positional offset in the matrix in B10
I guess the hybrid result stuff needs to handle matrix properly, wrapping my head around this..
Eike Rathke committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=757a346159dd51ae65767bce98a12826fef179b6 resolved fdo#51664 some matrix cases broken in binary Excel import
Eike Rathke committed a patch related to this issue. It has been pushed to "libreoffice-3-6": http://cgit.freedesktop.org/libreoffice/core/commit/?id=d5bd0ff8450985d0adadfdb13b4d97249b1b4bf4&g=libreoffice-3-6 resolved fdo#51664 some matrix cases broken in binary Excel import It will be available in LibreOffice 3.6.