ODS import with merged cells

Daniel Bankston daniel.dev.libreoffice at gmail.com
Sat May 26 01:36:46 PDT 2012


Hi, Kohei and Markus,

I pushed my changes to ScXMLTableRowCellContext::DoMerge() where I have 
removed the ScDocFunc layer and simplified the whole method in general.

As I mentioned to Kohei at some point, when I was originally removing 
the UNO calls from the code, I was trying not to question the logic too 
much and just focus on direct conversion to equivalent Sc calls.  I went 
back through the ScXMLTableRowCellContext merge methods closely 
following what occurs in the code and thinking about what is actually 
trying to be accomplished.

It seems that the only thing that is actually needed here during import 
is a call to ScDocument::DoMerge().  As far as I could tell, everything 
else was unnecessary in the ScDocFunc layer.  Also, 
ScXMLTableRowCellContext::IsMerged() and the unmerge portion of 
ScXMLTableRowCellContext::DoMerge() that existed before this latest 
commit seem to have no purpose during import.  Whether a cell is merged 
or not is decided before ScXMLTableRowCellContext::DoMerge() is called 
(member bIsMerged), otherwise it wouldn't be called.  And unmerging a 
cell on import doesn't make sense, right?

After these changes, I can still successfully compile and pass sc unit 
tests.  Also, when I manually run calc and open a spreadsheet with 
merged cells, I see that the file is imported correctly.

Can you see anything that I might have missed or incorrectly removed?  
Thanks.


Respectfully,
Daniel Bankston


More information about the LibreOffice mailing list