Page tree
Skip to end of metadata
Go to start of metadata

Since version 1.53.4 we have introduced couple of experimental APIs which help you to make a bridge between ConfiForms web-services backed fields and Excel files attached to your Confluence page.


2 services:

  • excel-2json
  • excel2007-2json


These 2 APIs are available at the following URLs:


Services expect/support the following parameters:

ParameterDescriptionTypeRequired
attachmentIdAttachment ID of the Excel file attachment to use as sourceNumericYes
skipRowsNumber of rows to skip (from the top). Defaults to 0 rows to skipNumericNo
idCellNumWhich column to use as IDNumericNo
labelCellNumWhich column to use as labelNumericNo

Column and rows numbering starts with 0


NB! Only the first sheet from excel file is currently supported!


Examples:

https://YOUR_CONFLUENCE_SERVER/ajax/confiforms/rest/excel-2json.action?attachmentId=2195459&skipRows=1&idCellNum=0&labelCellNum=1

https://YOUR_CONFLUENCE_SERVER/ajax/confiforms/rest/excel2007-2json.action?attachmentId=2195460&skipRows=1

Last example reads ALL the rows and columns (skipping just the first one) and creates a structure similar to the one listed below

[
  {
    "cell2": "uno",
    "cell3": "in cell 3",
    "cell1": "1"
  },
  {
    "cell2": "duo",
    "cell1": "2"
  },
  {
    "cell2": "tres",
    "cell3": "here is cell three",
    "cell1": "3"
  },
  {
    "cell2": "four",
    "cell1": "4"
  },
  {
    "cell2": "five",
    "cell1": "5"
  },
  {
    "cell2": "six",
    "cell1": "6"
  }
]

From the following excel file

As you can see, we can create a JSON Array structure that perfectly fits our ConfiForms web-service enabled fields

So, here is how you can create a ConfiForms Form which uses this file and shows it's values in the dropdown


Configuration for ConfiForms looks like this

With "myvalues" field configured as web-service dropdown

We have defined new connection to use the above mentioned excel to JSON APIs


And set the mapping to use cell1 as ID column for the dropdown and cell2 as a label


And you can see the online results right here

All the registrations so far (and yes, we can access ANY other field, like cell3 in our views, see below)

My excel values

myvalues.id

myvalues.cell1

myvalues.label

myvalues.cell3

uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
five e4da3b7fbbce2345d7772b0674a318d5 5 five
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
six 1679091c5a880faf6fb5e6087eb1b2dc 6 six
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
four a87ff679a2f3e71d9181a67b7542122c 4 four
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
five e4da3b7fbbce2345d7772b0674a318d5 5 five
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
five e4da3b7fbbce2345d7772b0674a318d5 5 five
four a87ff679a2f3e71d9181a67b7542122c 4 four
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three
four a87ff679a2f3e71d9181a67b7542122c 4 four
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
five e4da3b7fbbce2345d7772b0674a318d5 5 five
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three
uno c4ca4238a0b923820dcc509a6f75849b 1 uno in cell 3
duo c81e728d9d4c2f636f067f89cc14862c 2 duo
tres eccbc87e4b5ce2fe28308fd9f2a7baf3 3 tres here is cell three