> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Excel Connector

> The Excel connector converts data between Excel sheets (.xlsx) and XML files using Table or Template modes.

export const SlasTab = ({siteName = "CData Arc"}) => <>
    <p><em>サービスレベルアグリーメント（SLA）の設定に関する設定です。</em></p>
    <p>
      SLA を使用すると、フロー内のコネクタが送受信すると見込まれるボリュームを設定し、そのボリュームを達成すると見込まれる期間を設定できます。{siteName} は、SLA が達成されない場合にユーザーへ警告するメールを送信し、SLA を<em>At Risk</em> としてマークします。これは、SLA が間もなく達成されない場合に<em>Violated</em> としてマークされることを意味します。これにより、ユーザーは介入してSLA が達成されない理由を特定し、適切な対応を取る機会を得られます。At Risk 期間の終了時点でもSLA が達成されない場合、SLA はviolated としてマークされ、ユーザーに再度通知されます。
    </p>
    <p>
      SLA を定義するには、<strong>Expected Volume</strong> をオンに切り替え、<strong>Settings</strong> タブをクリックします。
    </p>
    <img src="/public/images/sla_empty.png" alt="SLA Empty" />
    <ul>
      <li>コネクタに送信と受信の個別のアクションがある場合は、ラジオボタンを使用してSLA がどちらの方向に適用されるかを指定します。</li>
      <li>ウィンドウの<strong>Expect at least</strong> 部分で、次を設定します。
        <ul>
          <li>処理を見込む最小トランザクション数（ボリューム）を設定します。</li>
          <li><strong>Every</strong> フィールドを使用して期間を指定します。</li>
          <li>SLA を有効にするタイミングを指定します。<strong>Starting on</strong> を選択した場合は、日付および時刻フィールドを入力します。</li>
          <li>SLA を有効にしたい曜日のチェックボックスをオンにします。必要に応じて、ドロップダウンで<strong>Everyday</strong> を選択します。</li>
        </ul>
      </li>
      <li>ウィンドウの<strong>Set status to 'At Risk'</strong> 部分で、SLA をAt Risk としてマークするタイミングを指定します。
        <ul>
          <li>デフォルトでは、SLA が違反状態になるまで通知は送信されません。これを変更するには、<strong>Send an 'At Risk' notification</strong> をオンにします。</li>
        </ul>
      </li>
    </ul>
    <p>
      次の例は、月曜日から金曜日まで毎日1000 件のファイルを受信すると見込むコネクタ向けに設定されたSLA を示しています。1000 件のファイルが受信されていない場合、期間の終了の1時間前にAt Risk 通知が送信されます。
    </p>
    <img src="/public/images/sla_defined.png" alt="SLA Configuration Example" />
    <Note>
      必要に応じてSLA アラートをオフにすることができます。これはメンテナンスウィンドウ中に役立ちます。navbar で<strong>Settings</strong> をクリックし、<strong>Alerts &gt; General Alerts</strong> に移動します。タブレットと鉛筆のアイコンをクリックして編集し、<strong>SLA Alerts</strong> 設定のチェックを外します。
    </Note>
  </>;

export const AlertsTab = ({siteNameShort = "Arc"}) => <>
    <p><em>アラートの設定に関する設定です。</em></p>
    <p>
      サービスレベルアグリーメント（SLA）を実行する前に、通知用のメールアラートをセットアップする必要があります。デフォルトでは、{siteNameShort} は<a href="/26.2/self-hosted/ja/getting-started/administration/settings/alerts">Alerts</a> タブのグローバル設定を使用します。このコネクタに別の設定を使用するには、<strong>Override global setting</strong> をオンに切り替えます。
    </p>
    <p>
      デフォルトではエラーアラートが有効になっており、エラーが発生するたびにメールが送信されます。これをオフにするには、<strong>Enable</strong> チェックボックスのチェックを外します。
    </p>
    <p>
      <strong>Subject</strong>（必須）を入力し、必要に応じて<strong>Recipient</strong> のメールアドレスをカンマ区切りのリストで入力します。
    </p>
  </>;

export const Message = () => <>
    <p><em>Message 設定は、コネクタがメッセージを検索する方法と、処理後にメッセージを管理する方法を決定します。</em></p>
    <table>
      <thead>
        <tr><th>設定</th><th>説明</th></tr>
      </thead>
      <tbody>
        
          <tr>
            <td><strong>Save to Sent Folder</strong></td>
            <td>コネクタが処理したファイルをコネクタのSent フォルダにコピーするには、これをオンにします。</td>
          </tr>
        
        <tr>
          <td><strong>Sent Folder Scheme</strong></td>
          <td>選択した間隔に従って、コネクタが<strong>Sent</strong> フォルダ内のファイルをグループ化するよう指示します。例えば、<strong>Weekly</strong> オプションは、コネクタが毎週新しいサブフォルダを作成し、その週のすべての送信済みファイルをそのフォルダに保存するよう指示します。空白の設定は、コネクタがすべてのファイルを<strong>Sent</strong> フォルダに直接保存するよう指示します。多数のトランザクションを処理するコネクタでは、サブフォルダを使用することでファイルを整理しやすくなり、パフォーマンスを向上できます。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const MiscConnector = () => <>
    <p><em>Miscellaneous 設定は、特定のユースケース向けの設定です。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>説明</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>Other Settings</strong></td>
          <td>非表示のコネクタ設定をセミコロン区切りのリストで設定できます（例：<code>setting1=value1;setting2=value2</code>）。通常のコネクタのユースケースや機能では、これらの設定の使用は必要ありません。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const Logging = () => <>
    <p><em>ログの作成と保存を制御する設定です。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>説明</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>Log Level</strong></td>
          <td>コネクタが生成するログの詳細度です。サポートを依頼する際は、これを<strong>Debug</strong> に設定してください。</td>
        </tr>
        <tr>
          <td><strong>Log Subfolder Scheme</strong></td>
          <td>選択した間隔に従って、コネクタがLogs フォルダ内のファイルをグループ化するよう指示します。<strong>Weekly</strong> オプション（デフォルト）は、コネクタが毎週新しいサブフォルダを作成し、その週のすべてのログをそのフォルダに保存するよう指示します。この設定を空白のままにすると、コネクタはすべてのログをLogs フォルダに直接保存します。多数のトランザクションを処理するコネクタでは、サブフォルダを使用することでログを整理しやすくなり、パフォーマンスが向上します。</td>
        </tr>
        <tr>
          <td><strong>Log Messages</strong></td>
          <td>処理したファイルのログエントリにファイル自体のコピーを含めるには、これをオンにします。これを無効にすると、<strong>Transactions</strong> タブからファイルのコピーをダウンロードできなくなる場合があります。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const MacrosExamples = ({extraMacros = []}) => <>
    <p>
      %Ext% や %ShortDate% などの一部のマクロは引数を必要としませんが、引数を必要とするものもあります。
      引数を取るすべてのマクロは次の構文を使用します。<code>%Macro:argument%</code>
    </p>

    <p>引数を取るマクロの例を次に示します。</p>

    <ul>
      <li>%Header:headername%：<code>headername</code> はメッセージ上のヘッダーの名前です。</li>
      <li>%Header:mycustomheader% は、入力メッセージに設定された<code>mycustomheader</code> ヘッダーの値に解決されます。</li>
      <li>%Header:ponum% は、入力メッセージに設定された<code>ponum</code> ヘッダーの値に解決されます。</li>
      <li>%RegexFilename:pattern%：<code>pattern</code> は正規表現パターンです。例えば、<code>%RegexFilename:^([\w][A-Za-z]+)%</code> は、ファイル名の最初の単語にマッチしてそれに解決され、大文字・小文字を区別しません（<code>test_file.xml</code> は<code>test</code> に解決されます）。</li>
      <li>%Vault:vaultitem%：<code>vaultitem</code> は<a href="/26.2/self-hosted/ja/getting-started/administration/settings/global-settings-vault">Vault</a> 内のアイテムの名前です。例えば、<code>%Vault:companyname%</code> は、Vault に保存された<code>companyname</code> アイテムの値に解決されます。</li>
      <li>%DateFormat:format%：<code>format</code> は許容される日付形式です（詳細は<a href="/26.2/self-hosted/ja/scripting/value-formatters/date-formatters#sample-date-formats">日付形式のサンプル</a>を参照してください）。例えば、<code>%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%</code> は、ファイルの日付とタイムスタンプに解決されます。</li>
      {extraMacros.filter(item => item.example).map(item => <li key={`ex-${item.name}`}>{item.example}</li>)}
    </ul>

    <p>次の例に示すように、より高度なマクロを作成することもできます。</p>

    <ul>
      <li>1 つのファイル名で複数のマクロを組み合わせる：<code>%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%</code></li>
      <li>マクロの外側にテキストを含める：<code>MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%</code></li>
      <li>マクロの内側にテキストを含める：<code>%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%</code></li>
    </ul>
  </>;

export const MacrosTable = ({siteName = "CData Arc", extraMacros = []}) => <>
    <p>
      ファイル命名戦略でマクロを使用すると、データの整理効率と文脈の理解を高めることができます。
      ファイル名にマクロを組み込むことで、識別子、タイムスタンプ、ヘッダー情報などの関連情報を
      動的に含めることができ、各ファイルに有用な文脈を提供します。
    </p>

    <p>{siteName} は次のマクロをサポートしています。これらはすべて次の構文を使用します。<code>%Macro%</code></p>

    <table>
      <thead>
        <tr><th>マクロ</th><th>説明</th></tr>
      </thead>
      <tbody>
        <tr><td>ConnectorID</td><td>コネクタのConnectorID に評価されます。</td></tr>
        <tr><td>Ext</td><td>コネクタが現在処理しているファイルの拡張子に評価されます。</td></tr>
        <tr><td>Filename</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を含む）に評価されます。</td></tr>
        <tr><td>FilenameNoExt</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を除く）に評価されます。</td></tr>
        <tr><td>MessageId</td><td>コネクタが出力しているメッセージのMessageId に評価されます。</td></tr>
        <tr><td>RegexFilename:<em>pattern</em></td><td>コネクタが現在処理しているファイルのファイル名に正規表現パターンを適用します。</td></tr>
        <tr><td>Header:<em>headername</em></td><td>コネクタが現在処理しているメッセージ上の対象ヘッダー（<code>headername</code>）の値に評価されます。</td></tr>
        <tr><td>LongDate</td><td>システムの現在の日時を長い形式（例：Wednesday, January 24, 2024）で評価します。</td></tr>
        <tr><td>ShortDate</td><td>システムの現在の日時をyyyy-MM-dd 形式（例：2024-01-24）で評価します。</td></tr>
        <tr><td>DateFormat:<em>format</em></td><td>システムの現在の日時を指定された形式（<code>format</code>）で評価します。利用可能な日時形式については、<a href="/26.2/self-hosted/ja/scripting/value-formatters/date-formatters#date-formats-with-literal-characters">日付形式のサンプル</a>を参照してください。</td></tr>
        <tr><td>Vault:<em>vaultitem</em></td><td>指定されたVault アイテムの値に評価されます。</td></tr>
        {extraMacros.map(item => <tr key={item.name}>
            <td>{item.name}</td>
            <td>{item.description}</td>
          </tr>)}
      </tbody>
    </table>
  </>;

export const Performance = () => <>
    <p><em>コネクタへのリソースの割り当てに関する設定です。</em></p>
    <table>
      <thead>
        <tr>
          <th>設定</th>
          <th>説明</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>Max Workers</strong></td>
          <td>このコネクタでファイルを処理するためにスレッドプールから消費されるワーカースレッドの最大数です。設定すると、<a href="/26.2/self-hosted/ja/getting-started/administration/settings/advanced-settings">Advanced Settings</a> ページの<a href="/26.2/self-hosted/ja/getting-started/administration/settings/performance-settings">Performance Settings</a> 部分にあるデフォルト設定が上書きされます。</td>
        </tr>
        <tr>
          <td><strong>Max Files</strong></td>
          <td>コネクタに割り当てられた各スレッドが送信するファイルの最大数です。設定すると、<a href="/26.2/self-hosted/ja/getting-started/administration/settings/advanced-settings">Advanced Settings</a> ページの<a href="/26.2/self-hosted/ja/getting-started/administration/settings/performance-settings">Performance Settings</a> 部分にあるデフォルト設定が上書きされます。</td>
        </tr>
      </tbody>
    </table>
  </>;

export const siteNameShort = "Arc";

export const siteName = "CData Arc";

The Excel connector converts data between Excel sheets (.xlsx) and XML files.

## Key Capabilities

* Bidirectional Excel/XML conversion in both Table and Template modes
* Advanced template system using ArcScript for dynamic data population
* Support for multiple worksheets with configurable row/column ranges

## Overview

Excel connectors can be configured in two modes: [Table](#table-mode) and [Template](#template-mode). These modes are described below.

### Table Mode

The default mode for Excel connectors is **Table**. This mode only supports converting files from XLSX to XML. To convert from XML to XSLX, use **Template** mode.

In Table mode, the connector treats input XLSX files exactly like CSV files. The resulting output XML file has the following structure, where each row (record) in the original file becomes a child of the root element **Items**:

```xml theme={null}
<Items>
 <Record>
  <field_0></field_0>
  <field_1></field_1>
  <field_2></field_2>
 </Record>
</Items>
```

### Template Mode

In **Template** mode, the connector uses a template file to perform conversions. This template file matches the output file format:

* When converting from XML to Excel, the template file is an Excel file.
* When converting from Excel to XML, the template file is an XML file.

These template files use {siteNameShort}Script to dynamically populate the output files with data from the input files. For more information, see the [Templates](#templates) section.

## Connector Configuration

This section contains all of the configurable connector properties.

### Settings Tab

#### Configuration

*Settings related to the core configuration of the connector.*

| Setting                   | Description                                                                                                                                                                                                                            |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Connector Id**          | The static, unique identifier for the connector.                                                                                                                                                                                       |
| **Connector Type**        | Displays the connector name and a description of what it does.                                                                                                                                                                         |
| **Connector Description** | An optional field to provide a free-form description of the connector and its role in the flow.                                                                                                                                        |
| **Translation Mode**      | Specify which method (**Table** or **Template**) to use to translate the input file to the output format. See the [Overview](#overview) for more information.                                                                          |
| **Column headers**        | (Table mode) Check this to have the translation use the values in the first row of the XLSX file as the element names of the child elements. If unchecked, the value elements are given generic names such as field\_0, field\_1, etc. |
| **Template File**         | (Template mode) The file that functions as the output template. Data is dynamically added to the file based on the scripting in the template. See the [Templates](#templates) section for details.                                     |

#### Advanced Settings

*Settings not included in the previous categories.*

| Setting                          | Description                                                                                                                                                                                                                                                                    |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Start Row**                    | (Table mode) The first row in the sheet to use for the output table.                                                                                                                                                                                                           |
| **Start Column**                 | (Table mode) The first column in the sheet to use for the output table.                                                                                                                                                                                                        |
| **End Column**                   | (Table mode) The last column in the sheet to use for the output table. If not set, the column preceding the first empty cell on the first row is detected as the end of the sheet.                                                                                             |
| **DateTime Format**              | (Table mode) The format to use for DateTime values in the Excel document.                                                                                                                                                                                                      |
| **Number Format**                | (Table mode) The format to use for numbers in the Excel document. Set this if you want all numbers in the document to be handled in the same way.                                                                                                                              |
| **Propagate Merged Cell Values** | (Table mode) When reading Excel in table mode, check this to propagate the value of each merged cell to all rows in the merged area. This option provides more complete data but it requires an extra read of the Excel file, which can affect performance on large workbooks. |
| **Local File Scheme**            | A scheme for assigning filenames to messages that are output by the connector. You can use macros in your filenames dynamically to include information such as identifiers and timestamps. For more information, see [Macros](#macros).                                        |

### Advanced Tab

#### Message

<Message />

#### Logging

<Logging />

#### Other Settings

| Setting              | Description                                                                                                                                                                                                                                                                              |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Processing Delay** | The amount of time (in seconds) by which the processing of files placed in the **Transactions** tab is delayed. This is a legacy setting. Best practice is to [use a File connector](../flows/designing-a-flow#ローカルファイルシステムとのやり取り) to manage local file systems instead of this setting. |

#### Miscellaneous

<MiscConnector />

### Automation Tab

*Settings related to the automatic processing of files by the connector.*

#### Automation Settings

| Setting  | Description                                                             |
| -------- | ----------------------------------------------------------------------- |
| **Send** | Whether messages arriving at the connector are automatically processed. |

#### Performance

<Performance />

### Alerts Tab

<AlertsTab />

### SLAs Tab

<SlasTab />

## Templates

### XML to Excel

The following snippet from an XML file contains a list of elements under the `/Items/Orders` path.

```xml theme={null}
<Items>
    <Orders>
        <OrderNo>PO0012345</OrderNo>
        <Customer>Teddy</Customer>
        <Date>04/19/2023</Date>
        <SubTotal>23.98</SubTotal>
        <Items>
            <Name>Teddy Bear</Name>
            <Cost>14.99</Cost>
            <Desc>Brown</Desc>
        </Items>
        <Items>
            <Name>Truck</Name>
            <Cost>8.99</Cost>
            <Desc>Red</Desc>
        </Items>
    </Orders>
</Items>
```

To convert this XML file to XSLX, you must create an Excel template. The image below shows an example Excel template that uses *xmlDOMSearch* and *xpath* to loop through the elements of the XML file:

<img src="https://mintcdn.com/cdata-arc/j59334epfVQRoK96/public/images/simple_excel_template.png?fit=max&auto=format&n=j59334epfVQRoK96&q=85&s=4b28801507eff617c2864b5300a893c8" alt="Simple Template" width="874" height="183" data-path="public/images/simple_excel_template.png" />

Every Excel template must contain the following elements, which are shown in the example above:

* Static column headers. In the example above, this is **Order Detail**.
* Scripting in Excel notes. This scripting should use the [xmlDOMSearch](#xmldomsearch) operation to loop through the input XML at a specified XPath. In the example above, this is contained in the **arc:call** operation.
* Scripting in Excel cells. This scripting should use the [xpath formatters](#xpath-formatters) to read values from the XML at a given xpath. This xpath is relative to the xpath specified in the *xmlDOMSearch* operation.

The details of the *xmlDOMSearch* operation and *xpath* formatters in this example are described below.

#### xmlDOMSearch

The *xmlDOMSearch* requires two parameters:

| Parameter | Description                                                                                                                                                                                                                                                                                                                                                                                     |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **URI**   | The resource path to the XML file to parse. The `[filepath]` attribute resolves to the input XML file to the connector, and the URI should almost always be set to this value. In the above example, the filepath is URL-encoded with the *urlencode* formatter to ensure that special characters in the filepath do not prevent the connector from reading the file: `[filepath \| urlencode]` |
| **xpath** | The XML path to loop over in the document. The operation loops for each occurrence of the specified xpath. For example, with the xpath `/Items/Orders`, each *Orders* element that is a child of the root *Items* element causes a new set of output in the resulting Excel file.                                                                                                               |

#### xpath formatters

The Excel notes with the *xmlDOMSearch* operation surround a block of cells that reference the input XML via the *xpath* formatter. The *xpath* formatter reads values from the input XML at the specified xpath.

<Note>This *xpath* is relative to the path provided as a parameter to the *xmlDOMSearch* operation.</Note>

In the above example, the first cell is populated with: `[xpath("OrderNo")]`. Since this xpath is relative, the cell is populated with the value from the following path in the input XML: `/Items/Orders/OrderNo`.

If the *xmlDOMSearch* operation loops more than once—that is, if more than one instance of the operation's xpath parameter is found—then the block of cells between the Excel notes is repeated. The new cells are added vertically, so in the above example the second *OrderNo* cell would be directly below the first *Notes* cell.

### Excel to XML

To convert from XSLX to an XML file, you must create a custom XML template using {siteNameShort}Script commands. Since XML does not support the same scripting functionality as Excel files, the structure and formatting for converting from XSLX to XML is different than from XML to Excel.

<Note>Due to the wide range of potential input and output structures, there is no universal solution for every conversion need. The example template shown below is just one of many potential solutions. You need to create a template based on your own needs.</Note>

This example template uses a combination of standard XML syntax and {siteNameShort} Script to read, process, and convert data from an input Excel file.

The `arc:set` lines below specify the location of the file and the Excel version used to create the file.

```xml theme={null}
<!-- Read Excel -->
<arc:set attr="xml.file" value="[FilePath]" />
<arc:set attr="xml.version" value="2007" />
```

The sections below specify the conversion parameters and map the headers into standard XML formatting.

The parameter `[_value | toalphanum | replace(' ','')]` indicates that the `arc:set` command should parse header names from the Excel file, convert them to alphanumeric format, eliminate blank spaces, and assign them as headers in the XML file.

```xml theme={null}
<!-- Always use first sheet-->
<arc:call op="excelListSheets" in ="xml" out="sheet">
  <arc:set attr="xml.sheet" value="[sheet.sheet]" />
  <arc:break />
</arc:call>

<!-- read the headers into an array-->
<arc:set attr="xml.map:headers" value="A1:*1" />
<arc:call op="excelGet" in="xml" out="header">
  <arc:enum attr="header.headers#">
    <arc:set attr="data.headernames#" value="[_value | toalphanum | replace(' ','')]" />
  </arc:enum>
</arc:call>

<arc:set attr="_log.info" value="[data.headernames#1]" />

<arc:enum range="A..Z">
  <arc:set attr="tmp.cells#" value="[_value]" />
</arc:enum>
```

The sections below process the remaining data and build the data columns according to the specified structure.

```xml theme={null}
<!-- read the remaining cells -->
<arc:enum attr="data.headernames#">
  <arc:set attr="xml.map:[_value]" value="[tmp.cells#[_index]]2:[tmp.cells#[_index]]*" />
</arc:enum>

<!-- build the columns -->
<arc:call op="excelGet" in="xml" out="cols">
  <arc:map from="cols" to="data" map="*=*" />
</arc:call>

<Items>
  <arc:enum attr="data.[data.headernames#1]#"><arc:set attr="tmp.colIndex" value="[_index]" />
    <Record>
      <arc:enum attr="data.headernames#">
        <[_value]>[data.[_value]#[tmp.colIndex] | def]</[_value]>
      </arc:enum>
    </Record>
  </arc:enum>
</Items>
```

## Macros

<MacrosTable />

### Examples

<MacrosExamples />

## Excel Operations

In addition to the Operations provided with {siteNameShort}, connectors can provide operations that extend functionality into {siteNameShort}Script.

These connector operations can be called just like any other {siteNameShort}Script operation, except for two details:

1. They must be called through the `connector.rsc` endpoint.
2. They must include an auth token.

For example, calling a connector operation using both of these rules might look something like this:

```xml theme={null}
<arc:set attr="in.myInput" value="myvalue" />
<arc:call op="connector.rsc/opName" authtoken="admin:1j9P8v8b9K0x6g5R5t7k" in="in" out="out">
  <!-- handle output from the op here -->
</arc:call>
```

Operations specific to the functionality of the Excel connector are listed below.

### excelClose

Close an Excel connection.

#### Optional Parameters

* **handle**: The handle for the Excel file.

#### Output Attributes

* **success**: True if the connection is closed successfully.

### excelGet

Queries the specified Excel worksheet.

#### Required Parameters

* **sheet**: The name of the Excel worksheet.

#### Optional Parameters

* **version**: The version of Excel you are using. The default is AUTO. You only need to choose another version if you are using a legacy Excel version.
* **file**: The path to the Excel workbook.
* **handle**: The handle for the Excel file.
* **map:\***: This set of inputs contains a mapping of the attribute name and the name of the cell whose value is to be retrieved from the spreadsheet. For example, the attribute name map:MyValue which has a value of C1 pushes an attribute named MyValue with the value found in the cell at C1 in the sheet. You can specify a range of cell names to retrieve a range of cell values.

#### Output Attributes

* **\***: Depends on the content of the sheet and the query specified. If column headers are present they are used to name the output attributes.

### excelListSheets

Lists the worksheets in a specified Excel workbook.

#### Optional Parameters

* **version**: The version of Excel you are using. The default is AUTO. You only need to choose another version if you are using a legacy Excel version.
* **file**: The path to the Excel workbook.
* **handle**: The handle for the Excel file.

#### Output Attributes

* **isHidden**: Returns true if the sheet is hidden from view in Excel.
* **sheet**: The name of the Excel worksheet. Note that the name ends with \$. This is not required when specifying worksheet names to other operations.

### excelOpen

Open an existing Excel workbook.

#### Required Parameters

* **file**: The path to the Excel workbook.

#### Optional Parameters

* **version**: The version of Excel you are using. The default is AUTO. You only need to choose another version if you are using a legacy Excel version.

#### Output Attributes

* **handle**: The handle which is used to execute other operations.
