--- title: "Excel to JSON Operator" slug: "excel-to-json-operator" description: "Convert your Excel data to JSON effortlessly with the Excel to JSON operator in Unqork, supporting single and multiple tab uploads." updated: 2025-11-12T10:01:35Z published: 2025-11-12T14:27:26Z canonical: "docs.unqork.io/excel-to-json-operator" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Excel to JSON Operator UDesignerClassic Designer ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(246).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D)The **Excel to JSON** **operator** reads the contents of an Excel file and parses them into JSON. This operator is useful for using your Excel data in Unqork. You can also upload Excel files from a single tab or multiple tabs using this operator. This operator uses the Base64 of an Excel file (xlsx, , XML) and converts the data into two attributes: headings and JSON. Headings are the header fields of the file (the labels of your columns). The JSON includes the actual contents of your file, where each row has an index. And in each index, you'll see a key/value pair for each data point. If a cell is empty, you'll see a null value for that key. Here's an example of how this might look in the DevTools Console: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_ExcelToJSONOperator_Example02.jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) For the Excel to JSON operator to work, you must input the Base64 of your Excel file because the operator cannot read your entire Excel file. If you’re using a File component, you'll use a Get operator to retrieve the Base64 of the uploaded file. If you don't use a Base64 input, you'll receive a circular reference error. Similarly, when using a File component, the component’s **Parse Files on Upload** setting must be set to ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) **(ON)**. If the setting is set to ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_OFF(6).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) **(OFF)**, you'll receive a circular reference error. You’ll find the Excel to JSON operator under the [Value/String](https://docs.unqork.io/docs/valuestring-operator-types) group to the left of the [Data Workflow](https://docs.unqork.io/docs/unqorks-data-workflow-operators) canvas. ## About the Info Window Here's a breakdown of each setting in the Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | multiTabExcel | Tells the operator if the Excel file has a single tab or multiple tabs. When set to Yes, the operator creates a separate array for each tab in the file. The name or key of each array will be the name of the original Excel tab. | | Delimiter | Specify a delimiter to use to separate your values. For example, a space (` `), comma (`,`), ampersand (`&`), or even a combination of characters. If you don’t set a delimiter, the function concatenates all values without a delimiter. You must surround the delimiter in quotation marks. If you use a number as a string delimiter, the Calculator treats the number as text. | ## Adding an Excel to JSON Operator In this example, you’ll import a list of application IDs into your module. You have these IDs in an Excel file, and you can use the Excel to JSON operator to convert the data. > [!NOTE] > To complete this example, you'll need a sample Excel file to upload. This configuration can accept any single-tab Excel file you have on hand. The end result you see in the DevTools Console varies depending on the data you upload. > [!NOTE] > These instructions assume you have a new module open, saved, and with a title. ### Configure the File Component Begin by adding a [File](https://docs.unqork.io/docs/file-component) component to handle the file upload. 1. In the Module Builder, drag and drop a **File** component onto your canvas. 2. In the **Property ID** field, enter `fileUpload`. 3. In the **Label Text** field, enter `Single Tab Excel Upload`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(247).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 4. Click **Save Component**. ### Configure the Data Workflow Component Next, configure the [Data Workflow](https://docs.unqork.io/docs/using-unqorks-dataworkflow) component. Here, you'll include an [Input](/v1/docs/input-operator) operator to bring the data from your File component into the Data Workflow. You'll also use a [Get](https://docs.unqork.io/docs/getoperator) operator to retrieve the Base64 of your Excel file because the Excel to JSON operator cannot accept the Excel file. From there, you'll pass that data to the Excel to JSON operator and to a [Console](https://docs.unqork.io/docs/console-operator) operator to view the output in the DevTools Console. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below your `fileUpload` **File** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dwfExcelToJSON`. #### Configure the Input Operator 1. Drag and drop an **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | fileUpload | | Required | Yes | | Source | Default | #### Configure the Get Operator 1. Drag and drop a **Get** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Get | | Label | [0].data | | Path | [0].data | 3. Connect the output port (right) of the `fileUpload` **Input** operator to the input port (left) of the `[0].data` **Get** operator. #### Configure the Excel to JSON Operator 1. Drag and drop an **Excel to JSON** operator onto your **Data Workflow** canvas. 2. Configure the operator's Info window as follows: | Setting | Value | | --- | --- | | Category | Excel to JSON | | Label | Single Tab | | mutliTabExcel | No | 3. Connect the output port (right) of the `[0].data` **Get** operator to the input port (left) of the `Single Tab` **Excel to JSON** operator. #### Configure the Console Operator 1. Drag and drop a **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Output | 3. Connect the output port (right) of the `Single Tab` **Excel to JSON** operator to the input port (left) of the `Output` **Console** operator. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(248).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 4. Click **Save Component**. ### Configure the Button Component Lastly, configure a [Button](/v1/docs/button-component) component to trigger your Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it between your `fileUpload` **File** and `dwfExcelToJSON` **Data Workflow** components. 2. In the **Property ID** field, enter `btnExcelToJSON`. 3. In the **Label Text** field, enter `Single Tab Excel to JSON`. 4. From the **Action Type** drop-down, select **Event**. 5. From the **Triggers On Click** drop-down, select **dwfExcelToJSON** . ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(249).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 6. Click **Save Component**. 7. **Save** your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(251).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) Preview your module in Express View and upload a single-tab Excel file. Open the DevTools Console and click the **Single Tab Excel to JSON** button. You'll see a new JSON populated with the data from your Excel file. In the example below, you'll see data pulled from an Excel file with a single column labeled `applicationId`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_ExcelToJSONOperator_Express(1).jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) Different results occur depending on what data is in your Excel file. Try uploading different types of Excel data to understand the output. From there, you can change settings in your Data Workflow to get the output you want. Once you have the JSON data you need, you can pass it into another process. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(268).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D)The **Excel to JSON** **operator** reads the contents of an Excel file and parses them into JSON. This operator is useful for using your Excel data in Unqork. You can also upload Excel files from a single tab or multiple tabs using this operator. This operator uses the Base64 of an Excel file (xlsx, , XML) and converts the data into two attributes: headings and JSON. Headings are the header fields of the file (the labels of your columns). The JSON includes the actual contents of your file, where each row has an index. And in each index, you'll see a key/value pair for each data point. If a cell is empty, you'll see a null value for that key. Here's an example of how this might look in the DevTools Console: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_ExcelToJSONOperator_Example02.jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) For the Excel to JSON operator to work, you must input the Base64 of your Excel file because the operator cannot read your entire Excel file. If you’re using a File component, you'll use a Get operator to retrieve the Base64 of the uploaded file. If you don't use a Base64 input, you'll receive a circular reference error. Similarly, when using a File component, the component’s **Parse Files on Upload** setting must be set to ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(6).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) **(ON)**. If the setting is set to ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_OFF(6).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) **(OFF)**, you'll receive a circular reference error. You’ll find the Excel to JSON operator under the [Value/String](https://docs.unqork.io/docs/valuestring-operator-types) group to the left of the [Data Workflow](https://docs.unqork.io/docs/unqorks-data-workflow-operators) canvas. ## About the Info Window Here's a breakdown of each setting in the Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | multiTabExcel | Tells the operator if the Excel file has a single tab or multiple tabs. When set to Yes, the operator creates a separate array for each tab in the file. The name or key of each array will be the name of the original Excel tab. | | Delimiter | Specify a delimiter to use to separate your values. For example, a space (` `), comma (`,`), ampersand (`&`), or even a combination of characters. If you don’t set a delimiter, the function concatenates all values without a delimiter. You must surround the delimiter in quotation marks. If you use a number as a string delimiter, the Calculator treats the number as text. | ## Adding an Excel to JSON Operator In this example, you’ll import a list of application IDs into your module. You have these IDs in an Excel file, and you can use the Excel to JSON operator to convert the data. > [!NOTE] > To complete this example, you'll need a sample Excel file to upload. This configuration can accept any single-tab Excel file you have on hand. The end result you see in the DevTools Console varies depending on the data you upload. > [!NOTE] > These instructions assume you have a new module open, saved, and with a title. ### Configure the File Component Begin by adding a [File](https://docs.unqork.io/docs/file-component) component to handle the file upload. 1. In the Module Builder, drag and drop a **File** component onto your canvas. 2. In the **Property ID** field, enter `fileUpload`. 3. In the **Label Text** field, enter `Single Tab Excel Upload`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(264).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 4. Click **Save**. ### Configure the Data Workflow Component Next, configure the [Data Workflow](https://docs.unqork.io/docs/using-unqorks-dataworkflow) component. Here, you'll include an [Input](/v1/docs/input-operator) operator to bring the data from your File component into the Data Workflow. You'll also use a [Get](https://docs.unqork.io/docs/getoperator) operator to retrieve the Base64 of your Excel file because the Excel to JSON operator cannot accept the Excel file. From there, you'll pass that data to the Excel to JSON operator and to a [Console](https://docs.unqork.io/docs/console-operator) operator to view the output in the DevTools Console. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below your `fileUpload` **File** component. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfExcelToJSON`. #### Configure the Input Operator 1. Drag and drop an **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | fileUpload | | Required | Yes | | Source | Default | #### Configure the Get Operator 1. Drag and drop a **Get** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Get | | Label | [0].data | | Path | [0].data | 3. Connect the output port (right) of the `fileUpload` **Input** operator to the input port (left) of the `[0].data` **Get** operator. #### Configure the Excel to JSON Operator 1. Drag and drop an **Excel to JSON** operator onto your **Data Workflow** canvas. 2. Configure the operator's Info window as follows: | Setting | Value | | --- | --- | | Category | Excel to JSON | | Label | Single Tab | | mutliTabExcel | No | 3. Connect the output port (right) of the `[0].data` **Get** operator to the input port (left) of the `Single Tab` **Excel to JSON** operator. #### Configure the Console Operator 1. Drag and drop a **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Output | 3. Connect the output port (right) of the `Single Tab` **Excel to JSON** operator to the input port (left) of the `Output` **Console** operator. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(265).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 4. Click **Save**. ### Configure the Button Component Lastly, configure a [Button](/v1/docs/button-component) component to trigger your Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it between your `fileUpload` **File** and `dwfExcelToJSON` **Data Workflow** components. 2. In the **Property ID** field, enter `btnExcelToJSON`. 3. In the **Label Text** field, enter `Single Tab Excel to JSON`. 4. Under **Action Type**, select **Event**. 5. In the **Triggers On Click** field, enter `dwfExcelToJSON` . ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(266).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) 6. Click **Save & Close**. 7. **Save** your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(267).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) Preview your module in Express View and upload a single-tab Excel file. Open the DevTools Console and click the **Single Tab Excel to JSON** button. You'll see a new JSON populated with the data from your Excel file. In the example below, you'll see data pulled from an Excel file with a single column labeled `applicationId`. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_ExcelToJSONOperator_Express(1).jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A10Z&se=2026-11-09T17%3A59%3A10Z&sr=c&sp=r&sig=nYpSjJoHUAR91zAhVTwrHlmx3ZQ9ZMtIIjX0v0nfG%2F4%3D) Different results occur depending on what data is in your Excel file. Try uploading different types of Excel data to understand the output. From there, you can change settings in your Data Workflow to get the output you want. Once you have the JSON data you need, you can pass it into another process. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. Base64 is an encoding and decoding technique used to convert binary data to an ASCII (American Standard for Information Interchange) text format. XLSX is the file extension for a Microsoft Excel spreadsheet file. Extensible Markup Language (XML) is markup language that lets you define and store data in a shareable way. Attributes are pieces of information about a user that are included in an SSO claim. Typically key/value pairs, attributes are used to make decisions about a user's access. The location of an element in an array. A key-value pair is a fundamental data structure where a unique "key" is associated with a specific "value," used for organizing and retrieving data efficiently, like in dictionaries or databases. A key-value pair is a fundamental data structure where a unique "key" is associated with a specific "value," used for organizing and retrieving data efficiently, like in dictionaries or databases. The DevTools Console helps you securely store, build, test, and deploy your software. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. An array is a type of object that stores one or more data types. Data types supported in arrays include numbers, strings, and objects. A delimiter is a chracter or symbol that seperates words, data, or other characters. Use delimiters to mark the begining, or end of of value. Example delimiters include the comma ",", ampersand "&", or an empty space " ". The Number data type accepts integer or floating point values. The number data type does not use quotes around numerical values. A string is an object that represents a sequence of characters. Strings typically hold data represented in text form. In Unqork an application is a program used to perform specific tasks. An application can be one of two types: workflow or module. The DevTools Console helps you securely store, build, test, and deploy your software. A Property ID is the unique field ID used by Unqork to track and link components in your module. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . Triggers activate another component when certain requirements are met. Trigger types include Concurrent, Post, and Error. Some components do not have the ability to trigger others. The action performed by the button when selected. DOM (Document Object Model) events are signals or notifications that something has occurred or is occurring within a web page, often triggered by user interactions or by the browser itself. These events allow JavaScript to react to changes and interactions on a web page, making it dynamic and interactive. Enter the Property ID of the component that you want to trigger on each button-click. Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View. A Property ID is the unique field ID used by Unqork to track and link components in your module. ## Related - [Introduction to Data Workflow](/introduction-to-data-workflow.md) - [Data Workflow Operators](/data-workflow-operators.md) - [Data Workflow Component](/data-workflow-component.md)