<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Taking the Pain out of Excel Reporting with a useful Talend Extension</title>
	<atom:link href="http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/feed/" rel="self" type="application/rss+xml" />
	<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/</link>
	<description>OLAP and Business Intelligence</description>
	<lastBuildDate>Tue, 20 Oct 2009 20:26:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: hugoworld</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-130</link>
		<dc:creator>hugoworld</dc:creator>
		<pubDate>Tue, 20 Oct 2009 20:26:52 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-130</guid>
		<description>Oh sorry I forgot to mention that Sheet1 contained a Header Record of Sales, Year, Month and Person in Cells A1:D1 with the actual data being in rows 2 onwards.

Hope that helps.</description>
		<content:encoded><![CDATA[<p>Oh sorry I forgot to mention that Sheet1 contained a Header Record of Sales, Year, Month and Person in Cells A1:D1 with the actual data being in rows 2 onwards.</p>
<p>Hope that helps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hugoworld</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-129</link>
		<dc:creator>hugoworld</dc:creator>
		<pubDate>Tue, 20 Oct 2009 20:23:40 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-129</guid>
		<description>Hi Cindy

Thanks for the question. In terms of the context variable I would need to check. I don&#039;t think it will be possible in the current version. I will see if I can have a look when I have a little more time. 

The solution to your second question is that you need to use a small piece of VBA. Something like this should work. This assumes you have your source data in a sheet Called &quot;Sheet1&quot; and you want your pivot table to be placed in &quot;Sheet2&quot;. To access the macro features of Excel press Alt+F11 and you should be able to pretty much paste this code in.
If you want a different layout (in terms of fields on pages, rows and columns then you might want to record the macro and the adapt the code accordingly. You will probably want to leave in the check for the last row of you source worksheet, to ensure all data is included in the pivot, and also the bit to delete the pivot and recreate it.





Option Explicit

Private Sub Workbook_Open()


Dim WB As Workbook
Dim WSSource As Worksheet
Dim WSTarget As Worksheet
Dim lastRow As Integer
Dim PT As PivotTable

On Error GoTo err:

Set WB = ThisWorkbook
Set WSSource = WB.Sheets(&quot;Sheet1&quot;)
Set WSTarget = WB.Sheets(&quot;Sheet2&quot;)


&#039;Delete the existing pivot (if any)

&#039; Delete any prior pivot tables
For Each PT In WSTarget.PivotTables
    PT.TableRange2.Clear
Next PT


&#039;Change this to the source sheet name

lastRow = WSSource.UsedRange.Rows.Count

    WSSource.Activate
    WSSource.Range(&quot;A1:D&quot; &amp; lastRow).Select
    
    &#039;CHANGE THE R1C1 Reference (Row and Column) And Sheet Name
    
    WSSource.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
        &quot;Sheet1!R1C1:R&quot; &amp; lastRow &amp; &quot;C4&quot;, TableDestination:=&quot;Sheet2!R1C1&quot;, TableName:=&quot;PivotTable1&quot;
    ActiveSheet.PivotTables(&quot;PivotTable1&quot;).SmallGrid = False
    With ActiveSheet.PivotTables(&quot;PivotTable1&quot;).PivotFields(&quot;Sales&quot;)
        .Orientation = xlDataField
        .Position = 1
    End With
    With ActiveSheet.PivotTables(&quot;PivotTable1&quot;).PivotFields(&quot;Year&quot;)
        .Orientation = xlColumnField
        .Position = 1
    End With
    With ActiveSheet.PivotTables(&quot;PivotTable1&quot;).PivotFields(&quot;Month&quot;)
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables(&quot;PivotTable1&quot;).PivotFields(&quot;Person&quot;)
        .Orientation = xlPageField
        .Position = 1
    End With

&#039;Clean up
Set WB = Nothing
Set WSSource = Nothing
Set WSTarget = Nothing

Exit Sub

err:
    MsgBox (&quot;Error - &quot; + err.descrption)

End Sub</description>
		<content:encoded><![CDATA[<p>Hi Cindy</p>
<p>Thanks for the question. In terms of the context variable I would need to check. I don&#8217;t think it will be possible in the current version. I will see if I can have a look when I have a little more time. </p>
<p>The solution to your second question is that you need to use a small piece of VBA. Something like this should work. This assumes you have your source data in a sheet Called &#8220;Sheet1&#8243; and you want your pivot table to be placed in &#8220;Sheet2&#8243;. To access the macro features of Excel press Alt+F11 and you should be able to pretty much paste this code in.<br />
If you want a different layout (in terms of fields on pages, rows and columns then you might want to record the macro and the adapt the code accordingly. You will probably want to leave in the check for the last row of you source worksheet, to ensure all data is included in the pivot, and also the bit to delete the pivot and recreate it.</p>
<p>Option Explicit</p>
<p>Private Sub Workbook_Open()</p>
<p>Dim WB As Workbook<br />
Dim WSSource As Worksheet<br />
Dim WSTarget As Worksheet<br />
Dim lastRow As Integer<br />
Dim PT As PivotTable</p>
<p>On Error GoTo err:</p>
<p>Set WB = ThisWorkbook<br />
Set WSSource = WB.Sheets(&#8220;Sheet1&#8243;)<br />
Set WSTarget = WB.Sheets(&#8220;Sheet2&#8243;)</p>
<p>&#8216;Delete the existing pivot (if any)</p>
<p>&#8216; Delete any prior pivot tables<br />
For Each PT In WSTarget.PivotTables<br />
    PT.TableRange2.Clear<br />
Next PT</p>
<p>&#8216;Change this to the source sheet name</p>
<p>lastRow = WSSource.UsedRange.Rows.Count</p>
<p>    WSSource.Activate<br />
    WSSource.Range(&#8220;A1:D&#8221; &amp; lastRow).Select</p>
<p>    &#8216;CHANGE THE R1C1 Reference (Row and Column) And Sheet Name</p>
<p>    WSSource.PivotTableWizard SourceType:=xlDatabase, SourceData:= _<br />
        &#8220;Sheet1!R1C1:R&#8221; &amp; lastRow &amp; &#8220;C4&#8243;, TableDestination:=&#8221;Sheet2!R1C1&#8243;, TableName:=&#8221;PivotTable1&#8243;<br />
    ActiveSheet.PivotTables(&#8220;PivotTable1&#8243;).SmallGrid = False<br />
    With ActiveSheet.PivotTables(&#8220;PivotTable1&#8243;).PivotFields(&#8220;Sales&#8221;)<br />
        .Orientation = xlDataField<br />
        .Position = 1<br />
    End With<br />
    With ActiveSheet.PivotTables(&#8220;PivotTable1&#8243;).PivotFields(&#8220;Year&#8221;)<br />
        .Orientation = xlColumnField<br />
        .Position = 1<br />
    End With<br />
    With ActiveSheet.PivotTables(&#8220;PivotTable1&#8243;).PivotFields(&#8220;Month&#8221;)<br />
        .Orientation = xlRowField<br />
        .Position = 1<br />
    End With<br />
    With ActiveSheet.PivotTables(&#8220;PivotTable1&#8243;).PivotFields(&#8220;Person&#8221;)<br />
        .Orientation = xlPageField<br />
        .Position = 1<br />
    End With</p>
<p>&#8216;Clean up<br />
Set WB = Nothing<br />
Set WSSource = Nothing<br />
Set WSTarget = Nothing</p>
<p>Exit Sub</p>
<p>err:<br />
    MsgBox (&#8220;Error &#8211; &#8221; + err.descrption)</p>
<p>End Sub</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cindy</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-127</link>
		<dc:creator>Cindy</dc:creator>
		<pubDate>Mon, 19 Oct 2009 23:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-127</guid>
		<description>Hi, 

I have been playing with this today and think its greate!  I have 2 questions I&#039;m hoping you can answer.  How do I bring a context variable into a header of the excel report?

Also how can I create a pivot table from the raw data.

Any info would be greatly appreciated!!!!</description>
		<content:encoded><![CDATA[<p>Hi, </p>
<p>I have been playing with this today and think its greate!  I have 2 questions I&#8217;m hoping you can answer.  How do I bring a context variable into a header of the excel report?</p>
<p>Also how can I create a pivot table from the raw data.</p>
<p>Any info would be greatly appreciated!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hugoworld</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-83</link>
		<dc:creator>hugoworld</dc:creator>
		<pubDate>Wed, 11 Mar 2009 07:07:21 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-83</guid>
		<description>Hi Gabor

Yes the underying component is a library called jxls. This is explained in the PDF. However not all of the examples on the sourceforge site will work since this component is using generated code some of the flexibility is missing. Hence the most common operations are included in the PDF.
The syntax of the expressions uses JEXL again this is stated in the PDF and for underly object access such as renaming workbooks then the JavaDocs of Apache POI should be studied.</description>
		<content:encoded><![CDATA[<p>Hi Gabor</p>
<p>Yes the underying component is a library called jxls. This is explained in the PDF. However not all of the examples on the sourceforge site will work since this component is using generated code some of the flexibility is missing. Hence the most common operations are included in the PDF.<br />
The syntax of the expressions uses JEXL again this is stated in the PDF and for underly object access such as renaming workbooks then the JavaDocs of Apache POI should be studied.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gábor Bánóczi</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-82</link>
		<dc:creator>Gábor Bánóczi</dc:creator>
		<pubDate>Wed, 11 Mar 2009 01:17:58 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-82</guid>
		<description>Dear Hugo, 

to answer my own question, in addition to the very helpful document that you created here is the website with the documentation of the jXLS:
http://jxls.sourceforge.net/index.html

HTH,

Gábor</description>
		<content:encoded><![CDATA[<p>Dear Hugo, </p>
<p>to answer my own question, in addition to the very helpful document that you created here is the website with the documentation of the jXLS:<br />
<a href="http://jxls.sourceforge.net/index.html" rel="nofollow">http://jxls.sourceforge.net/index.html</a></p>
<p>HTH,</p>
<p>Gábor</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gábor Bánóczi</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-75</link>
		<dc:creator>Gábor Bánóczi</dc:creator>
		<pubDate>Thu, 05 Mar 2009 19:34:30 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-75</guid>
		<description>What is the significance of the different parenthesis marks i.e. the [], {}, ().

If you gave us a reference where the syntax is described would be most helpful...

Thanks.</description>
		<content:encoded><![CDATA[<p>What is the significance of the different parenthesis marks i.e. the [], {}, ().</p>
<p>If you gave us a reference where the syntax is described would be most helpful&#8230;</p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gábor Bánóczi</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-74</link>
		<dc:creator>Gábor Bánóczi</dc:creator>
		<pubDate>Thu, 05 Mar 2009 19:13:30 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-74</guid>
		<description>Dear Hugo,

I wanted to acknowledge your work in this semi public space. The Excel report generating tool for Talend is awesome. 
Thank you. And thank you.

For all those who might download the tutorial, please be aware that when you copy code from the PDF into the Excel sheet the quotation marks will be not the standard characters and will cause syntax errors in the execution.

Thank you,

Gábor</description>
		<content:encoded><![CDATA[<p>Dear Hugo,</p>
<p>I wanted to acknowledge your work in this semi public space. The Excel report generating tool for Talend is awesome.<br />
Thank you. And thank you.</p>
<p>For all those who might download the tutorial, please be aware that when you copy code from the PDF into the Excel sheet the quotation marks will be not the standard characters and will cause syntax errors in the execution.</p>
<p>Thank you,</p>
<p>Gábor</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hugoworld</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-69</link>
		<dc:creator>hugoworld</dc:creator>
		<pubDate>Tue, 17 Feb 2009 15:46:20 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-69</guid>
		<description>Hi

You can find tutorials in the PDF link on this page. Wordpress is a bit wierd and clicking on the link will take you to a second page, which inludes a file called NewsLetter.pdf... This file is the documentation and tutorials. 
The talend component is java. In terms of the templates they aren&#039;t generated the output file is generated by applying the expressions in the template. The expressions use JEXL Syntax (Java Expression Language). For further details take a look at the  PDF which explains how the jxls implementation works.

However for many cases it&#039;s not necessary to use expressions.

You can include lots of features in the template, such as freeze panes, autofilters, conditional formatting, excel formulas etc...

The code is available to everyone the entire project is uploaded in zip format to talendForge.

Regards

Hugo</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>You can find tutorials in the PDF link on this page. WordPress is a bit wierd and clicking on the link will take you to a second page, which inludes a file called NewsLetter.pdf&#8230; This file is the documentation and tutorials.<br />
The talend component is java. In terms of the templates they aren&#8217;t generated the output file is generated by applying the expressions in the template. The expressions use JEXL Syntax (Java Expression Language). For further details take a look at the  PDF which explains how the jxls implementation works.</p>
<p>However for many cases it&#8217;s not necessary to use expressions.</p>
<p>You can include lots of features in the template, such as freeze panes, autofilters, conditional formatting, excel formulas etc&#8230;</p>
<p>The code is available to everyone the entire project is uploaded in zip format to talendForge.</p>
<p>Regards</p>
<p>Hugo</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marion</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-68</link>
		<dc:creator>marion</dc:creator>
		<pubDate>Tue, 17 Feb 2009 14:16:45 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-68</guid>
		<description>hello,

Wich language is used to generate the template file? Where can I find some tutorials?
is it accessible to final users?

thank you</description>
		<content:encoded><![CDATA[<p>hello,</p>
<p>Wich language is used to generate the template file? Where can I find some tutorials?<br />
is it accessible to final users?</p>
<p>thank you</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Talend ETL Excel report generator &#171; Gobán Saor</title>
		<link>http://hugoworld.wordpress.com/2009/02/08/taking-the-pain-out-of-excel-reporting/#comment-65</link>
		<dc:creator>Talend ETL Excel report generator &#171; Gobán Saor</dc:creator>
		<pubDate>Fri, 13 Feb 2009 16:37:42 +0000</pubDate>
		<guid isPermaLink="false">http://hugoworld.wordpress.com/?p=67#comment-65</guid>
		<description>[...] from his OLAP Cube as a Mind Map project has struck again. This time something really useful, a component for the Talend ETL platform that generates Excel reports using templates and a JSP style TAG language to control the [...]</description>
		<content:encoded><![CDATA[<p>[...] from his OLAP Cube as a Mind Map project has struck again. This time something really useful, a component for the Talend ETL platform that generates Excel reports using templates and a JSP style TAG language to control the [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
