Bug 81765 - FILEOPEN: slow loading of .ods and .xlsx
Summary: FILEOPEN: slow loading of .ods and .xlsx
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Spreadsheet (show other bugs)
Version: 4.1.6.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
QA Contact:
URL:
Whiteboard: BSA
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-25 22:27 UTC by Eduardo Moreno
Modified: 2014-07-30 22:28 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
The file original in ODF format and exported to OOXML (424.48 KB, application/x-zip-compressed)
2014-07-25 22:27 UTC, Eduardo Moreno
Details

Description Eduardo Moreno 2014-07-25 22:27:35 UTC
Created attachment 103478 [details]
The file original in ODF format and exported to OOXML

Problem description:
I create many files with a template. Fill the data with macros. But now, when open the file, if the file is in local hard disk takes 5 minutes to open. If the file is in a shared folder takes 30 minutes or crash LibO. The problem is with very files.
Now, export the file to OOXML format and open with MS Excel. The file open in 5 seconds, in hard disk or net.

Steps to reproduce:
1. Download the files in ODF format
2. Open with LibreOffice and measure the time
3. Download the file in XLSX format
4. Open with MS Excel and measure the time 

Current behavior:
Long time to open in LibreOffice.

Expected behavior:
The some time to open in LibreOffice and Ms Excel.

              
Operating System: Windows 7
Version: 4.2.5.2 release
Comment 1 tommy27 2014-07-26 11:35:53 UTC
very slow loading of both the .ods and .xlsx version of that file.
tested under Win7x64 using LibO 4.2.5.2
Comment 2 Eike Rathke 2014-07-28 10:00:18 UTC
Also slow in 4.1.6.2
Comment 3 Eike Rathke 2014-07-28 12:41:13 UTC
Slowness is due to the massive amount (>1000) of conditional formats, most on sheets FT-ING-PR-02 and FT-ING-PR-03, many of them even applied to identical ranges. Looks like a result of heavy copy&paste actions, or the macro you mentioned creates them. All these conditionals also extremely slow down scrolling around in the document once it was loaded.

@Markus:
Shouldn't a conditional style when pasted be merged with its neighbors if identical? Can we somehow detect and correct this mess during document load?

@Eduardo:
You could unprotect the sheets and invoke Format->Conditional->Manage and manually remove all the single formats and extend one of them to cover the needed ranges. It's quite a tedious task though.
Comment 4 Eduardo Moreno 2014-07-28 14:26:12 UTC
(In reply to comment #3)
> Slowness is due to the massive amount (>1000) of conditional formats, most
> on sheets FT-ING-PR-02 and FT-ING-PR-03, many of them even applied to
> identical ranges. Looks like a result of heavy copy&paste actions, or the
> macro you mentioned creates them. All these conditionals also extremely slow
> down scrolling around in the document once it was loaded.
> 
> @Markus:
> Shouldn't a conditional style when pasted be merged with its neighbors if
> identical? Can we somehow detect and correct this mess during document load?
> 
> @Eduardo:
> You could unprotect the sheets and invoke Format->Conditional->Manage and
> manually remove all the single formats and extend one of them to cover the
> needed ranges. It's quite a tedious task though.

The password to unprotect is 123456. The macro create a conditional format when add a row. Never know how many rows will be add.

If you say the roblem is conditional format, I try to modify the macro to create only uone range of conditional format.

I report the changes.
Comment 5 Markus Mohrhard 2014-07-30 22:28:49 UTC
(In reply to comment #3)
> Slowness is due to the massive amount (>1000) of conditional formats, most
> on sheets FT-ING-PR-02 and FT-ING-PR-03, many of them even applied to
> identical ranges. Looks like a result of heavy copy&paste actions, or the
> macro you mentioned creates them. All these conditionals also extremely slow
> down scrolling around in the document once it was loaded.
> 
> @Markus:
> Shouldn't a conditional style when pasted be merged with its neighbors if
> identical? Can we somehow detect and correct this mess during document load?
> 

We already do that if a document is imported and does not contain the new conditional format entries. However it is much more complicated during copy&paste as we have now conditional formats that rely on the range.

Take the simple example of a conditional format that just formats one column with a color scale. Now copying that column to the next one has two solutions for what we could do with the conditional formatting: merge and create ahuge one spanning two columns or create a second one that just spans this new column.

There will always be cases where one or the other solution are wrong.

Therefore we have now the manage conditional formatting dialog which helps the user to change the formatting or range if it is not what he expected.

Sadly I don't see a perfect solution here.

Sadly the UNO API does not reflect all the possibilities (I have to support the old one as it is published) and does not allow to modify the range of a conditional formatting currently.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.