How do I preserve table column widths in copy paste?
Asked by Stephen Ellwood:

I have a Python program that reads in an Excel sheet and turns it into Word based documentation. I copy this and paste it into a Confluence page and all the nice table formatting is lost. Specifically, all of the columns are the same width in Confluence; the width of the source is lost. This worked perfectly in Mindtouch, our previous Wiki. There are over 100 tables in the output and I had to spend nearly half an hour manually re-adjusting the tables so they looked the same.

I also tried to save the word file as HTML. The HTML looked great. The copy-pasted Confluence page not so much. Can anyone shed some light on how this might be done. As far as I can tell I cannot paste raw HTML into the page. Again Mindtouch, which is 10 years older than Confluence allowed me to edit the HTML with a single push button then copy-paste raw HTML in there.


Answers:
author: Stephen Ellwood
body: I have now rewritten my Python to write pages directly via the RES API using the Atlassian confluence.py library:

<https://atlassian-python-api.readthedocs.io/confluence.html>

Even then I had to write the page as an Editor V1 page. When I write it as an editor V2 file the column widths are lost in exactly the same way as the copy-paste from word. This is a severe limitation of the latest incarnation of Confluence and **this user is unhappy with Confluence at this point**.

The markup used is not HTML. Confluence clearly felt the need to reinvent the wheel here and ended up with a square one. For other users benefit, the markup language is shown here::

<https://confluence.atlassian.com/doc/confluence-wiki-markup-251003035.html>

Many of the normal features of HTML are simply not there, giving very little control over the look-and-feel of the page. I had to fudge the table column widths using extensive preprocessing of the data including adding non-breakable spaces to the table titles using trial and error.


author: Prince Nyeche
body: Hi [@Stephen Ellwood](/t5/user/viewprofilepage/user-id/4227781)

Welcome to community! On Cloud I don't think it allows raw HTML to be added directly. If it was on markdown most probably it can render it but HTML, it will most definitely strip it out.

comments: author: Stephen Ellwood
body: Thanks for the answer. To be clear, I don't *want*to have to use html, I would rather that the word importer preserves all of the formatting in the source. Since I can do it manually it is clearly possible to create a Confluence page that looks the way I want, its just that I have not found a way yet of doing it automatically.


author: Prince Nyeche
body: Hi, you can look into using [API](https://developer.atlassian.com/cloud/confluence/rest/api-group-content/#api-api-content-get) to do what you want?


author: Stephen Ellwood
body: Where would I find the documentation on the API?


author: Prince Nyeche
body: Hi, I already gave a link to the docs in my previous response.


author: Stephen Ellwood
body: Apologies, did not see the blue in the black :o)


author: Stephen Ellwood
body: I have taken a look at the API but its not immediately obvious how to write a table into a page and how to encode the page widths. This is a week's work at least to get up to speed with so does not solve my problem in the short term.


Tags: cloud

confluence-cloud