Skip to end of metadata
Go to start of metadata

On this page


The Table Plus macro adds advanced functions and formatting to Confluence tables, by:

  • Dynamically totaling numeric data.
  • Dynamically numbering each table row.
  • Defining the default sort order for the table.
  • Highlighting a row when the user hovers the pointer over it.
  • Using CSS to style the entire table or individual columns and rows.

This macro supports Common table capabilities. This adds column sorting and other attributes to one or more tables found in the body of the macro. The tables can be produced by wiki markup or other means. Clicking on a column heading will cause that column to be sorted. Clicking again will reverse the order. Note that the excel, csv, or sql macros already have most of these capabilities.

Feature Video

Basic Use

This macro can be deployed using one of the following methods:

Selected from the Macro BrowserTable Plus
Markup Shortcut{table-plus}

In the body of the macro, insert a Confluence table as you normally would and edit the row and columns as needed. On rendering or preview, the table-plus macro will process the table to add the advanced capabilities according to the parameters specified on the macro.



(info) Click a column heading to toggle the sorting of that column.

Common Parameters

The following parameters are part of our common table capabilities that are available to many macros that produce or modify tables.

(info) Click a column heading to toggle the sorting of that column.


Other Macros

Below is a list of all other Macros available within this Add-on:

Additional References


  1. We are having trouble with the column width setting. It is only specified for column 2 and it doesn't seem to work. Is my syntax correct?

    |columnAttributes=style="font-size:8pt;" ,style="font-size:8pt; width=170px;",*style="font-size:8pt;",style="font-size:8pt;"

    {table-plus:columnTypes=I,S,S,S,S,I|sortIcon=true|sortTip=Click tosort|border=5|enableHighlighting=true|columnAttributes=style="font-size:8pt*;"*
    *,style="font-size:8pt;* *width=170px;",*style="font-size:8pt;",style="font-size:8pt;"
    || *Versions* || *Key* || *Summary* || *Priority* || *Status* || *Number* ||

    I am using Confluence 3.1. I have tried swapping the position of the width and font parameters, using a colon instead of equals using a percentage instead of specifying a pixel value, removing spaces between parameters --I can't think of what else to try. I would welcome your input.

    Thanks,   Susan

    1. Looks ok. You are right, it doesn't work. Not sure why. However, you can use width without style: width=170px

      1. Thanks for confirming. I love this macro, and so does the client. I'll let them choose which to give up: width or font size. 

      2. Interestingly:

        1. Swapping the width and font breaks the font param too (and the width still doesn't work).

        2. I have seen the width work intermittently but haven't been able to nail down what the magic combination is.

        1. Missed this the first time. Either of the following will work:

          1. style="font-size:8pt;width:170px;" - note the : instead of the = for the style definition
          2. style="font-size:8pt;"; width=170px;
  2. Unknown User (dave maheshwari)

    How do i set the color of a particular cell? Say row 2 column 3 I want to set it as RED


    1. You can use {color:red} xxxxx {color} inside a wiki table just like regular text.

      1. Unknown User (dave maheshwari)

        Thanks Bob & sorry for being unclear, I would like to paint the complete background with Red color rather then just the Text 


  3. You can use {bgcolor} like below or there are some other other html like macros ({div} and {style})



  4. Hi,

    I'm currently searching a way to apply the advanced table-plus capabilities to a html table which is inserted by my confluence plugin. Up to now, I have...

    <table class="confluenceTable">
     <th class="confluenceTh"> a </th>
     <th class="confluenceTh"> b </th>
     <td class="confluenceTd"> 1 </td>
     <td class="confluenceTd"> 2 </td>
     <td class="confluenceTd"> 3 </td>
     <td class="confluenceTd"> 4 </td>

    ...which leads to a table with the default confluence layout. But how can I apply the table-plus capabilities?


    1. I assume you must surround this code with {html} macro to get a table in Confluence. So just surround all of it again with the {table-plus} macro.

      1. Hi,

        I haven't written a usermacro. I'm talking about a Confluence plugin written in java which uses the code above to display a table in the Confluence style. My question is, how can I integrate/use the table-plus capabilities in my (java) plugin (like other plugins do (e.g. sql?!)) (smile)

        1. Well, the {html} macro (either the Atlassian shipped one or the one from HTML Macro) handles the html code you have. However, if you have your own plugin/macro, you can do the same externally as I suggested or if you want to do it internal to your plugin, you need to build and code with the Script utilities in a way similar to the User's Guide.

  5. Does anyone know if you can use the table-plus macro to make a transparent table in Confluence? So far, I've only been able to do it with HTML since we don't use the theme builder plugin.

    1. ...if nothing else works, a quick and dirty hack might be to include a {html} with a css style which overrides (css command "!important") the default background...

  6. I use table-plus to sort a list in a table that contains word with German umlauts. Words that start with umlauts like Ä,Ö, Ü are listed at the end of the table instead of the appropriate sorting position. What do I have to do to get table-plus sorting to produce a true natural alphabetical list with German umlauts?

    1. latest version does still not sort by Ä,Ö,Ü German Umlauts. Is their something I have to install or to configure to get this to work?

      1. Please open a support request or bug report with specific examples (wiki text) including the results expected. Same for your date request.

        1. Thanks for taking care. I created following bug report: TBL-113 for both cases and attached some examples.

  7. Unknown User (vladimir@sirma.bg)

    I've added a request (TBL-111) for a boolean column type, supporting the commonly used checkmarks (tick) and (error). Please vote for it.

    I think we'd be willing to pay some money for it. Speaking of which: Bob, how do you fund your Confluence work? Have you setup some money collection channel? There's a bunch of services that make it easy to donate money, but I haven't explored any of them.

  8. I try to configure date sort, did install date.js and tryed to work with different formats but I cant get this to work reliable.

    Most of the dates are sorted in correct manner but some dates are always out of the row. I cant figure out why. It is always the same no difference which date format I use.

    It does also not matter which kind of table I use. Forums tells about same problems left without answers. Is there anyone who can at least could tell that it works and may give a hint how to configure it?

    1. Date sorting ist still not working in Sep-2013 – or more specific: I could not figure it out for instances which are set to German as the global language.

      1. Please open an issue if needed to help resolve something like this especially if it gets forgotten here. It is hard to tell what specifically you have that isn't working or what types you have tried. On version 6.0 and higher, there are 2 different methods for date sorting - see Advanced date sorting. I recommend you try the M type first as that is more flexible especially if you have language specific month names.

  9. Hi,

    is this macro cannot be combined with sql macro just like the chart plugins did?

    or am missing something?

    Tried this:


    the table showing withouth the table-plus functionality I'm hoping



    1. sql has all common parameters with table plus. Just use

  10. This macro does not work in Google Chrome

    1. Yes it does! Open an issue with specifics on what doesn't work. Include plugin, Confluence, and Chrome versions.

  11. My bad!

    I resolved the issue...

  12. I have a user that is interested to know how to set the background rolor for a row in a table-plus and also he likes to know how to look up specific commands in the doc.

    Any helps will be appreciated.


    1. See example 3 on this page. Not sure what you mean specific commands.

      1. Bob,

        Never mind.  I found the atlassian bug for this https://jira.atlassian.com/browse/CONF-6482

        Thanks anyway.

  13. Hi

    Ho to apply this to existing table? 

      1. Yes i understand how to add new table

        but if i have made a big table how to add this function?

        1. Put table-plus macro around your existing table.

          1. I am currently using Confluence 4.1, can I put this table-plus around the table that I create from "Insert table" option like below?














            or do I must use wikimarkup panel?

            1. Until table plugin 5.0 is available, you will need to use insert wiki markup and then copy/paste the table into the wiki markup.

              1. Thanks for prompt reply.
                However, when I copy the table into the wiki markup, the table structure break and data break apart. please advise.

  14. Anyone else having this issue or a a workaround? - doesn't sort columns if nested in other macro (just shows as normal table - can't click on headers)

    {report-column:title=Record ID}{report-link:content:url}{report-info:content:title}{report-link}{report-column}
    {report-column:title=Edit Date}{report-info:page:modification date|format=MM-dd-yyyy}{report-column}
    {report-empty}There are currently no employee summaries.{report-empty}
    1. At the end you add 


      but no attributes.

      If you use a version prior 3.5.1 you might run into issues caused by bugs.
      Try it without show-to macro, because it does alter some code. |

      1. I tried without additional parameters, no change... and we're using version 4.2.0 of the Table Plugin in Confluence 3.5.13

        1. I am using same set-up with no problem - did you check with firebug? other browser? other computer? on Mac and PC? without show-to? If you did with no result, I can't help.

          1. Yes, checked with other computers, Firefox11, Chrome 17, IE7, etc... it works fine without the show-to, but that kinda defines the issue: "doesn't sort columns if nested in other macro (just shows as normal table - can't click on headers)"

            1. with other macros is not quite true – it does not work with show-to, because this macro changes some attributes.Try builder-show from adaptavist.

  15. Does the table-plus macro enable you to add ID attributes for header cells, as well as TD HEADERs attributes for regular table cells?


  16. It can only apply the same attributes to all elements in a column and you have a choice as to whether that applies to the header. It doesn't know anything about the attributes, you need to provide attributes that work based on that. Does that answer your question?

    1. Hi Bob,

      Thanks for answering. I should have clarified that this question is really about making tables accessible in Confluence. I would like to be able to replicate the following html code in Confluence:

      <table summary="test table">
      <th id="c1">State</th>
      id="c2" colspan=2>City</th>
      <th id="c3">Large</th>
      <td headers="c1">AZ</td>
      <td headers="c2,c3">Phoenix</td>
      <td headers="c1">CA</td>
      headers="c2,c3">Redwood Shores</td>
      <td headers="c2,c4">Grass

      From what you are saying, this does not sound possible yet.



      1. The HTML Macro can do that or Adaptavist provides a plugin that has macros for each of the HTML table constructs.

  17. Hello Bob, My name is Susan and I'm a big table-plus fan! Seems like the table-plus columnAttributes parameter set for the table is influencing the displaying behavior of a warning macro placed within a cell of that table. Have you seen this before?

    All other things are equal with these two tables, except that the columnAttributes parameter is set for the first column of the first table, and not set for any column of the second table.

    The columnAttributes parameter set for this table: columnAttributes=style="width:190px;",

    No columnAttributes parameter is set for this table

    Thanks in advance for any assistance you can provide.

    ~Susan Price

    1. Try:

      multiple - Default is true which means all tables found within the macro body are processed. Set multiple=false to only process the first table found. May need to be used if the table includes cells that are also tables.

      1. Many thanks! That worked. Sorry I didn't see that in the documentation beforehand. I see it now. (smile)

  18. Hi Bob,

    Any idea when you may release the update so we can WYSIWYG edit the tables again?


    1. Before summit if all goes well with the current beta! 

      1. Hi Bob,

        Any news on a WYSIWYG editor for table-plus at all? Apologies if I missed something. Am running Confluence 4.2.4.


        1. Follow TBL-149 or install the rc. Still some issues to resolve before final.

  19. We are using Confluence 4.2.4 and Table Plugin 4.3.1, and we are using Easy Reader Theme for our document space. A document in the space includes a table plus macro with the columnAttributes parameter set specifying a column width, and the the column width is not being honored in the saved version (but it is being honored when previewing the page). This is the macro we're using. Is there something wrong with this?



    The column width is displaying as expected on this page ...

    But on our page it looks like this:

    Thanks in advance,




    1. Please open an issue (issues tab) with more details including your wiki markup. I am not familar with the Easy Reader Theme, but themes can certainly change the behavior.

      1. Many thanks for your quick response. I have updated my original post with more details, but I will also open an issue as you suggested. Thanks!

  20. My company is Powered by Atlassian Confluence 3.4. I used table plus macro above and Easy Reader Theme. For some reason, when I go Edit–>Wiki Markup, there is a big white space (huge gap) between initial table-plus tag and its content. This happens on every single table plus macro in both latest Firefox and IE8. Is this a bug?



  21. How do I apply Heading treatment to text within a table-plus macro? Wrap text in <h6></h6> tags, or precede text with h6. ? Many thanks in advance for any help you can provide. ~Susan

  22. That will not work, but you can just use wiki markup in your data with or without table-plus:

    || h3. xxxx || h3. yyyy ||
    | a | b |



    1. Hi Bob, Thank you for your response. We would like to use the heading font treatment in conjunction with the table of contents macro. We want to apply heading font treatment to text within a cell in the table (not the column heading text) and then insert the table of contents macro above the table to list/reference all the text marked with the heading font treatment within the table. When we do this, strange things happen. The links in the table of contents don't go anywhere, and the everything below the TOC and above the TABLE is underlined. The images below show my test page in edit view and the view after the page is saved:

      Do you have an idea of what's happening here? If this is issue-worthy, let me know and I'll post. Thanks! ~Susan Price

      1. Susan, please create a support issue for things like this especially if they involve attaching images etc... It is easier to track that way. Attaching the markup is helpful as well, although its more difficult with now with 4.x. Thanks.

        Looks like you get the same TOC behavior with any headings in wiki markup. You can report a bug against TOC to handle that.

        So, specificially for table-plus, the native confluence support should address that since it will no longer be considered as wiki markup.


        1. Oops, okay, please ignore the issue I just reported against table-plus ... I'll move it over to TOC. Thanks!!

  23. Hi - I have a table that includes currency values greater than 1,000. These are scaffold fields (using the CustomWare Scaffolding Plugin) with the following formatting applied: '$' #,##0.00 .

    When I apply "columnTypes=C" in the surrounding table-plus, it looks like the comma character is interfering with the sorting. If I remove the comma from the formatting, or if I keep the values less than $1000, the sorting works properly. We are using Table Plugin version 4.3.1 and Confluence version 3.5.13.

    Is this an issue that you've noticed? If so, I can create a JIRA ticket if you like. Thanks!


    1. Please create an issue - I have confirmed it doesn't work as expected. Thanks for pointing this out.

      1. I have had the same problem, and so I looked for a JIRA ticket without success.  Accordingly, I have created TBL-168 for your tracking pleasure.

  24. I'm using Confluence 4.2.2, and the autoTotal=True parameter does not work for this macro. I've tried (1) inserting the wiki markup and (2) adding the macro from Insert > Other Macros. Neither works.

    Other comments:

    • When I insert the wiki markup, it does not recognize the table-plus macro but it does populate the information in a table. Still, auto total does not work.
    • The table-plus macro is listed under the tablesorter plugin in the UPM. This does not look like Bob Swift's, but this is the only table-plus macro that appears in the UPM.

    Any help would be greatly appreciated.

    1. I will take a look soon. Normally, I would prefer you just create an issue, but, let me check with the information you have provided.

      1. Okay. Just let me know... I don't mind creating an issue.

        1. Make sure JavaScript served in header is checked under Admin -> General Configuration

            1. You have the wrong plugin. Go to the marketplace tab here to find this plugin. Make sure there is no conflicting macro installed.

              1. That worked. For some reason this would not show up in the UPM when I searched for table, but now it does. Thanks!

  25. Hi All, Anyone know the Wiki markup for attaching a file inside a table-plus table? I want to link to a file from within a table-plus table cell. Once I'm inside the table-plus wiki markup box, the menu bar is disabled, so I cannot access the Insert > Attachment menu option. I've tried inserting this: [filename|filename], and it doesn't work. The filename is hyperlinked, but the link is red and when clicked, it opens a new page in edit view. Thanks in advance!!

    Found it: [Confluence Wiki Markup^attachment.ext], from here: https://confluence.atlassian.com/display/DOC/Confluence+Wiki+Markup#ConfluenceWikiMarkup-Links

    Please delete this post if necessary~

  26. Is there a way to do a double sort with this macro?  As in, sort by one column, then sort by another (like you can in excel)?



    1. Not at this time. There is a JIRA issue that covers this.

  27. Hello,

    we are using the table-plus makro for some time now. Especially for coloring the background of a table.

    After upgrade to Confluence 4.3.5 and Plugin-Verion 5.3 it does not work anymore. The Plugin seems to ignore everything I put in columnattributes. I tried with your examples above and they won't work as well. In Example 3 the yellow background and center align does not appear.

    Does it work differently now?

    1. There are some differences in Confluence 4.x that may require changing the class attribute to avoid confluenceTable (for instance class= (blank)). Open a support issue with the details and I will have a look.

  28. Hello,

    Could you please give me an example how to use the "columnAttributes" parameters with the new version in Confluence 4.x.

    If I understand, I can control the style of every column of a table. Like for example "font-style:italic" for the first column, "font-style:bold" for the second, etc...

    This is what is written about this parameter:

    A comma separated list of values used to modify cell attributes for all 
    cells in a column. The position in the comma separated list corresponds 
    to the column that the values apply to. Each value is a double 
    semi-colon list of attributeName=value pairs that will be applied to the
     column cells.

    But frankly, i dont understand the synthax of how to use it.

    thanks for your help.



    1. This is a rather advanced option for those that are familiar with CSS styles and inline styling in particular. There is an example on this page above.

      columnAttributes=style="background:yellow; font-size:12pt; text-align: center;"
  29. I have a request: to be able to use the report-table macro on the table-plus.

    I would like to retrieve rows and cells of a table-plus from another page. Would this be possible to implement, or is it already possible somehow?

    1. Not exactly sure what you are asking for. You can wrap a table produced by the report-table macro with table-plus to get Common table capabilities. I don't think the report-table macro can retrieve rows/cells from any table on a page.

      1. It is reporting on a table I would like to do.

        Normally I would create the table as ex. a scaffolding and then report upon this. But in this case I do not have control over how the table is created. It's created as a table-plus and not a scaffolding.

        Would it be possible to add a feature to the table-plus macro to be able to report upon it, just as it's possible to report in a scaffolding?

        1. I see. This is an interesting idea. Please open an improvement request or considering asking the Reporting plugin to provide a table supplier where the table is identified by page and id. The reporting plugin does allow for different suppliers. Something that could be investigated. 

          1. Had a look at the suppliers and tried giving my table-plus an ID to report upon. But it seams as the different columns also needs to have some kind of identifier. I was not able to get something to work out of the different suppliers available, tried to play around with Text, Report, Value and Data Suppliers.

            Ill open a request on your form.

  30. Hi Bob,

    Thanks so much for your macros, they really add to Confluence.

    I was hoping that the table-plus macro would solve my horizontal scrolling issues with the Confluence table, but I don't seem to be able to set the width properly. I have nested the table-filter, table-plus, and page properties report macros in the order specified. One of the columns is far too wide so that it pushes out other columns horizontally off the page which makes it very hard to scan the table. I use Confluence 5.1.

    I tried using the column attributes and width parameter to control the width of the column in question, but the table remains formatted the same. In the column attributes field in the macro editor, I entered: 


    Any idea what I could have done wrong?

    Many thanks in advance!



    Update: I just saw your advice above and changed the default class to "(blank). That fixed it!

  31. Hello,

                    I want to use the "Insert JIRA Issue" macro within the table plus macro so hat I can sort the JIRA issues based on the various column values. Is this supported in the table plus macro? If yes, can you please help me with a sample/





  32. Hi Bob,

    Would it be possible to have the attachment-table macro display a column with a link to edit in office? This would be extremely helpful for multiple scenarios...

    1. Yes, I think so. There are a couple of other columns being considered as well. I created TBL-275 for you.

  33. Thanks Bob, we actually bought Table-Plus and then found out that it conflicts with other things everywhere we thought we would use it. Getting this added though would totally make the purchase worth it all by itself!

  34. I'd have to dig for others but off the top of my head the main one is the table filter plugin by stiltsoft.


    1. Good, thanks. Filtering is known issue. Let me know if there are others.

  35. Hi Bob,

    Taking another stab at using the future macro to speed up our pages, I want to use it in numerous places but now remember the problem. We've written quite a few small scripts that we put inside HTML macros so they load with the page. None of these get applied to content that is loaded after the fact via the future macro. Is there a way you can solve this globally rather than having to write in work-arounds on each script?

    1. The cache macro should work in that scenario. For the future, the scripts needs to be aware that content will come later. It is probably specific to the scripts. Don't really know.

      1. OK, thanks Bob. I knew that the cache macro works in those instances and wanted to make sure it wasn't something you could fix globally before we invest the time.

  36. I am attempting to use the table-plus macro to create some tables without borders.  I am able to make this work with Confluence 4.2.7 and the 6.0.0 version of the table plugin.  All I need to do is specify 0px for the border setting and it works properly.  Moving over to our testing and development installation of Confluence that I upgraded to version 5.4.2 and 6.1.0 of the table plugin, it no longer works.  I've tried to accomplish this in a few different ways as well.  I've done the above with using the provided border field for the table and setting it to 0px.  I've tried using the table style field and putting in border:0 as well as border:none.  I did this while removing the default class above that (just putting in a space to zero it out).  None of it seems to work.  Is it no longer possible to achieve no borders with the table-plus plugin?  Thanks for any assistance.

    1. Yes, I am not sure I have a good write up on that, but there were changes to Confluence css that impacts things and at least one bug reported against Confluence on some negative impacts of those changes. I will see if I can round up some more info on that later. In the mean time, I believe the workaround was to not use the confluenceTable class (set class parameter to blank or some other class). Please open an issue if you need to continue this discussion.