| <?xml version="1.0" encoding="utf-8"?> |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| <section> |
| <title> |
| Excel AddIn |
| </title> |
| <section role="h1" id="ExcelAddIn-ExcelAddIn"> |
| <title> |
| Excel AddIn |
| </title> |
| <para> |
| Qpid .net comes with Excel AddIns that are located in: |
| </para> |
| <para> |
| <filename><project-root>\qpid\dotnet\client-010\addins</filename> |
| </para> |
| |
| <para> |
| There are currently three projects: |
| </para> |
| <variablelist> |
| <varlistentry> |
| <term>ExcelAddIn</term> |
| <listitem> |
| <para>An RTD excel Addin</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>ExcelAddInProducer |
| </term> |
| <listitem> |
| <para>A sample client to demonstrate the RTD AddIn</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term>ExcelAddInMessageProcessor |
| </term> |
| <listitem> |
| <para>A sample message processor for the RTD AddIn</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| |
| <section role="h2" id="ExcelAddIn-QpidRDTAddIn"> |
| <title> |
| Qpid RDT AddIn |
| </title> |
| <section role="h3" id="ExcelAddIn-DeployingtheRTDAddIn"> |
| <title> |
| Deploying the RTD |
| AddIn |
| </title> |
| <para> |
| Excel provides a function called RTD (real-time data) that lets |
| you specify a COM server via its ProgId here "Qpid" so that you |
| can push qpid messages into Excel. |
| </para> |
| <para> |
| The provided RTD AddIn consumes messages from one queue and |
| process them through a provided message processor. |
| </para> |
| <para> |
| For using the Qpid RTD follows those steps: |
| </para> |
| |
| <procedure> |
| <step><para> |
| Copy the configuration Excel.exe.config into <filename>Drive\Program Files\Microsoft Office\Office12</filename>. |
| </para></step> |
| <step><para> |
| Edit <filename>Excel.exe.xml</filename> and set the targeted Qpid broker host, port |
| number, username and password. |
| </para></step> |
| <step> <para> |
| Select the cell or cell range to contain the RTD information |
| </para></step> |
| <step><para> |
| Enter the following formula <command>=rtd("Qpid",,"myQueue")</command>. Where |
| MyQueue is the queue from which you wish to receive messages from. |
| </para></step> |
| </procedure> |
| <para> |
| Note: The Qpid RTD is a COM-AddIn that must be registered with |
| Excel. This is done automatically when compiling the Addin with |
| visual studio. |
| </para> |
| <!--h3--> |
| </section> |
| |
| |
| <section role="h3" id="ExcelAddIn-Definingamessageprocessor"> |
| <title> |
| Defining a message processor |
| </title> |
| |
| <para> |
| The default behavior of the RDT AddIn is to display the message |
| payload. This could be altered by specifying your own message |
| processor. |
| A Message processor is a class that implements the API |
| <command>ExcelAddIn.MessageProcessor</command>. For example, the provided processor |
| in <filename>client-010\addins\ExcelAddInMessageProcessor</filename> displays the |
| message body and the the header price when specified. |
| </para> |
| <para> |
| To use you own message processor follows those steps: |
| </para> |
| <procedure> |
| <step><para>Write your own message processor that extends ExcelAddIn.MessageProcessor</para></step> |
| <step><para>Edit Excel.exe.config and uncomment the entries:</para> |
| <programlisting> |
| <add key="ProcessorAssembly" |
| value="<path>\qpid\dotnet\client-010\addins\ExcelAddInMessageProcessor\bin\Debug\ExcelAddInMessageProcessor.dll"/> |
| </programlisting> |
| <programlisting> |
| <add key="ProcessorClass" |
| value="ExcelAddInMessageProcessor.Processor"/> |
| </programlisting> |
| <itemizedlist> |
| <listitem> |
| <para>ProcessorAssembly is the path on the Assembly that contains |
| your processor class |
| </para> |
| </listitem> |
| <listitem> |
| <para>ProcessorClass is your processor class name |
| </para> |
| </listitem> |
| </itemizedlist> |
| </step> |
| <step><para>run excel and define a rtd function</para></step> |
| </procedure> |
| <para> |
| Note: the provided ExcelAddInProducer can be used for |
| testing the provided message processor. As messages are |
| sent to queue1 the following rtd function should be used |
| <command>=rtd("Qpid",,"queue1")</command>. |
| </para> |
| |
| <!--h3--> |
| </section> |
| |
| <!--h2--> |
| </section> |
| |
| <!--h1--> |
| </section> |
| |
| </section> |