Export to Excel: XML transformation

Hi,
I have to export the result set on the Grid in an Excel file( fancy report..:) ). The result set has to be modified based on the other tables before downloading. The resulting file has to have the various formatting like color, bold, font size, etc..
As OLE is slow so I am thinking to go for the XML transformation.
Issue:
1. The table had around 100 columns, so is there any way to dynamically read the number of columns being displayed? (The user can change the layout).
Kindly suggest.
Regards
s@k

Code for Transformation
<?sap.transform simple?>
<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
  <tt:root name="excelMeta"/>
  <tt:root name="excelDataTab"/>
  <tt:template>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o=
"urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" tt:extensible="deep-static">
      <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
        <Author>
          <tt:value ref="excelMeta.DocumentProperties.Author"/>
        </Author>
      </DocumentProperties>
      <tt:serialize>
        <Styles>
          <Style ss:ID="Default" ss:Name="Normal">
          </Style>
          <tt:loop name="Styles" ref=".excelMeta.Styles">
            <Style>
              <tt:attribute name="ss:ID" value-ref="$Styles.ID"/>
              <Font>
                <tt:attribute name="x:Family" value-ref="$Styles.Font.Family"/>
              </Font>
              <Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
            </Style>
          </tt:loop>
        </Styles>
      </tt:serialize>
      <Worksheet>
        <tt:attribute name="ss:Name" value-ref="excelMeta.Worksheet.Name"/>
        <Table>
          <tt:loop name="line" ref=".excelDataTab">
            <Row>
              <tt:loop name="Cell" ref="$line.Cells">
                <Cell>
                  <tt:cond>
                    <tt:attribute name="ss:StyleID" value-ref="$Cell.StyleID"/>
                  </tt:cond>
                  <tt:cond>
                    <Data>
                      <tt:attribute name="ss:Type" value-ref="$Cell.Type"/>
                      <tt:value ref="$Cell.cell_content"/>
                    </Data>
                  </tt:cond>
                </Cell>
              </tt:loop>
            </Row>
          </tt:loop>
        </Table>
    </Workbook>
  </tt:template>
</tt:transform>

Similar Messages

  • File size problem when performing XML Transformation into Excel

    Hi All,
    We are performing XML Transformation in ABAP which can open in Excel and saving to common share. But the file size of excel is around 50MB. After opening the excel and save with diffrent name the file is getting compressed and its below 1MB. So what kind of settings does we need to make to the transformation code which will create the excel files with less memory/size??
    <?sap.transform simple?>
    <tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
    <tt:root name="AAAAAAA"/>
    <tt:root name="BBBBBBBB"/>
    <tt:root name="CCCCCCCC"/>
    <tt:template>
    <?mso-application progid="Excel.Sheet"?>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:html="http://www.w3.org/TR/REC-html40">
       <ProtectObjects>True</ProtectObjects>
       <ProtectScenarios>True</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    </Workbook>
    </tt:template>
    </tt:transform>
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    </DocumentProperties>
    <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <ContentTypeId dt:dt="string">0x01010049B4763FE606154C9C9BC639FE7EE179</ContentTypeId>
    </CustomDocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <Colors>
       <Color>
        <Index>0</Index>
        <RGB>#FF0000</RGB>
       </Color>
       <Color>
        <Index>1</Index>
        <RGB>#FFE4B5</RGB>
       </Color>
       <Color>
        <Index>2</Index>
        <RGB>#FFF8DC</RGB>
       </Color>
       <Color>
        <Index>3</Index>
        <RGB>#000000</RGB>
       </Color>
      </Colors>
    </OfficeDocumentSettings>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>7305</WindowHeight>
      <WindowWidth>11340</WindowWidth>
      <WindowTopX>0</WindowTopX>
      <WindowTopY>0</WindowTopY>
      <TabRatio>334</TabRatio>
      <ProtectStructure>True</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
    </ExcelWorkbook>
    </DocumentProperties>
    <CustomDocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <ContentTypeId dt:dt="string">0x01010049B4763FE606154C9C9BC639FE7EE179</ContentTypeId>
    </CustomDocumentProperties>
    <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">

    Hi Raghu,
    have a look at the XLSX file generated by Excel, you'll see that it's simply a zipped file. So you can't do it with a transformation, but you need CL_ABAP_ZIP class. I advise you to look at the abap2xslx project ABAP code (currently 3.0) to see how it works.
    Best regards,
    Sandra

  • Transformations Export into Excel

    Hi BI Guru`s,
    Can we export transformations into excel sheet? If it is possible please let me know, how to do it?
    Thanks in advance,
    Venkat

    Hi,
    Open transformations.
    Go to EXTRAS from top menu. Select Tabular Over view. It will open on pop up window. Right click on tha window. Select Export to Excel.
    I hope it will help.
    Thanks,
    S

  • Export to excel using MDM WebDynPro Configurator

    Hi,
    I am developing an application using MDM WDC and need to display Export to excel button with corresponding functionality.Is there an API available to do the same? Is it possible to get the search results details in the excel sheet while using MDM WDC?
    version used is MDM  7.1 SP06 and NWCE 7.2 .
    Regards,
    Apoorva Dave

    it is standard function of mdm wd component.
    we are in MDM 7.1 SP5, the api only gives you the string of  the selected record in xml format.
    i am using xslt to transform the xml as user are not happy with the standard export.

  • Data from two tables in the same row in XML transformation

    Hi,
        I am using XML transformation for generating excel file which is to besent as email attachment.
        Here  I want to display the data from two internal tables in the same row in the excel. .I am using   <tt:loop ref=".<table name>"> ...  </tt:loop> for looping through the table. Can I loop two table simultaneously ? In that case how will I specify the fields in each table . Some of the fields in two tables are of same name and type.
    Please help...
    Thanks,
    Jissa

    Hello Brian,
    Thank you for your answer. It is approach I will use, I think. However let me ask: Would it be possible to have a Version in this layout, too? I mean to see, which value comes from Version A and which comes from Version B? Something like this:
    Calendar Month Version Sales Amount
    2011.01  B  200
    2011.02  B  300
    2011.03  A  260
    2011.04  A  230
    2011.05  A  200
    A

  • Export to excel issue

    Hi All,
    Kindly help me in solving this issue.
    Portals report layouts can be customized. When the user chooses to export
    the customized reports to Excel, only the standard layout (hard coded
    layout for each report) is exported to Excel and all the customized columns
    are not exported.
    C&RM is planning to use the portals aging report for performance metrics,
    collection and identifying the over 90 items for collection rep. The
    standard layout for the portals aging report is missing the BP# and
    Collection rep name.
    Choosing right click, select all and copying to Excel, the format of the
    report is lost.
    Herewith I am attaching the code which needs modification.
    // This file has been generated partially by the Web Dynpro Code Generator.
    // MODIFY CODE ONLY IN SECTIONS ENCLOSED BY @@begin AND @@end.
    // ALL OTHER CHANGES WILL BE LOST IF THE FILE IS REGENERATED.
    package com.zurich.fscd;
    // IMPORTANT NOTE:
    // ALL IMPORT STATEMENTS MUST BE PLACED IN THE FOLLOWING SECTION ENCLOSED // BY @@begin imports AND @@end. FURTHERMORE, THIS SECTION MUST ALWAYS CONTAIN // AT LEAST ONE IMPORT STATEMENT (E.G. THAT FOR IPrivateExportexView).
    // OTHERWISE, USING THE ECLIPSE FUNCTION "Organize Imports" FOLLOWED BY // A WEB DYNPRO CODE GENERATION (E.G. PROJECT BUILD) WILL RESULT IN THE LOSS // OF IMPORT STATEMENTS.
    //@@begin imports
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.Map;
    import java.util.StringTokenizer;
    import com.sap.tc.webdynpro.modelimpl.dynamicrfc.WDDynamicRFCExecuteException;
    import com.sap.tc.webdynpro.progmodel.api.IWDAttributeInfo;
    import com.sap.tc.webdynpro.progmodel.api.IWDMessageManager;
    import com.sap.tc.webdynpro.progmodel.api.IWDNode;
    import com.sap.tc.webdynpro.progmodel.api.IWDNodeElement;
    import com.sap.tc.webdynpro.services.sal.adapter.api.WDWebContextAdapter;
    import com.sap.tc.webdynpro.services.sal.url.api.IWDCachedWebResource;
    import com.sap.tc.webdynpro.services.sal.url.api.WDURLException;
    import com.sap.tc.webdynpro.services.sal.url.api.WDWebResource;
    import com.sap.tc.webdynpro.services.sal.url.api.WDWebResourceType;
    import com.zurich.fscd.wdp.IPrivateExportexView;
    //@@end
    //@@begin documentation
    //@@end
    public class ExportexView
    Logging location.
      private static final com.sap.tc.logging.Location logger =
        com.sap.tc.logging.Location.getLocation(ExportexView.class);
      static
        //@@begin id
        String id = "$Id$";
        //@@end
        com.sap.tc.logging.Location.getLocation("ID.com.sap.tc.webdynpro").infoT(id);
    Private access to the generated Web Dynpro counterpart
    for this controller class.  </p>
    Use <code>wdThis</code> to gain typed access to the context,
    to trigger navigation via outbound plugs, to get and enable/disable
    actions, fire declared events, and access used controllers and/or
    component usages.
    @see com.zurich.fscd.wdp.IPrivateExportexView for more details
      private final IPrivateExportexView wdThis;
    Root node of this controller's context. </p>
    Provides typed access not only to the elements of the root node
    but also to all nodes in the context (methods node<i>XYZ</i>())
    and their currently selected element (methods current<i>XYZ</i>Element()).
    It also facilitates the creation of new elements for all nodes
    (methods create<i>XYZ</i>Element()). </p>
    @see com.zurich.fscd.wdp.IPrivateExportexView.IContextNode for more details.
      private final IPrivateExportexView.IContextNode wdContext;
    A shortcut for <code>wdThis.wdGetAPI()</code>. </p>
    Represents the generic API of the generic Web Dynpro counterpart
    for this controller. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDViewController wdControllerAPI;
    A shortcut for <code>wdThis.wdGetAPI().getComponent()</code>. </p>
    Represents the generic API of the Web Dynpro component this controller
    belongs to. Can be used to access the message manager, the window manager,
    to add/remove event handlers and so on. </p>
      private final com.sap.tc.webdynpro.progmodel.api.IWDComponent wdComponentAPI;
      public ExportexView(IPrivateExportexView wdThis)
        this.wdThis = wdThis;
        this.wdContext = wdThis.wdGetContext();
        this.wdControllerAPI = wdThis.wdGetAPI();
        this.wdComponentAPI = wdThis.wdGetAPI().getComponent();
      //@@begin javadoc:wdDoInit()
      /** Hook method called to initialize controller. */
      //@@end
      public void wdDoInit()
        //@@begin wdDoInit()
         IWDCachedWebResource cachedExcelResource = null;
         String fileName = "Items.xls";
         byte[] bytes ;
         IWDAttributeInfo attInfo = wdContext.getNodeInfo().getAttribute("ExcelDownload");   
         IWDMessageManager manager = wdComponentAPI.getMessageManager();
         try{
              String reporttype = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("reporttype" ) ;
              if (reporttype == null) {
                   reporttype = GC_REPORTTYPE_BPACCTSTAT_CARM;
              Object level = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("level" ) ;
              if (level == null){
                   level = "";
              Object paramname = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("app.paramname" ) ;
              Object paramvalue = WDWebContextAdapter.getWebContextAdapter().getRequestParameter("app.paramvalue" ) ;
              if (paramname == null){
                   paramname = "";
              if (paramvalue == null){
                   paramvalue = "";
              if (reporttype.equals(GC_REPORTTYPE_OPENITEMS_SUMM)) {
                   wdContext.currentZ_Rm_Get_Open_Items_ResultsElement().setI_Reporttype("S");
                   wdContext.currentZ_Rm_Get_Open_Items_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputOI().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Mas(),getColumnInfosAOISUMM()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equals(GC_REPORTTYPE_OPENITEMS_DET)) {
                   wdContext.currentZ_Rm_Get_Open_Items_ResultsElement().setI_Reporttype("A");
                   wdContext.currentZ_Rm_Get_Open_Items_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputOI().invalidate();               
                   bytes = toExcel(wdContext.nodeEt_Detail(),getColumnInfosAOIDet()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equals(GC_REPORTTYPE_BPACCTSTAT_BU)) {
                   wdContext.currentZ_Rm_Bpacctstat_Bu_Get_ResultsElement().setI_Level(level.toString());
                   wdContext.currentZ_Rm_Bpacctstat_Bu_Get_ResultsElement().setI_Paramname(paramname.toString());
                   wdContext.currentZ_Rm_Bpacctstat_Bu_Get_ResultsElement().setI_Paramvalue(paramvalue.toString());
                   wdContext.currentZ_Rm_Bpacctstat_Bu_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutput().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Bu1(),getColumnInfosBU()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equals(GC_REPORTTYPE_BPACCTSTAT_CARM)) {
                   wdContext.currentZ_Rm_Bpaccstat_Ca_Get_ResultsElement().setI_Level(level.toString());
                   wdContext.currentZ_Rm_Bpaccstat_Ca_Get_ResultsElement().setI_Paramname(paramname.toString());
                   wdContext.currentZ_Rm_Bpaccstat_Ca_Get_ResultsElement().setI_Paramvalue(paramvalue.toString());
                   wdContext.currentZ_Rm_Bpaccstat_Ca_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputCRM().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Carm1(),getColumnInfosCARM()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_RMETRICS_EFDBID)) {
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reportlevel("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reporttype("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputRmetr().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Efdbid(),getColumnInfosRMETRICS1()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_RMETRICS_EFDBOD)) {
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reportlevel("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reporttype("2");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputRmetr().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Efdbod(),getColumnInfosRMETRICS2()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_RMETRICS_PADDUD)) {
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reportlevel("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reporttype("3");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputRmetr().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Paddud(),getColumnInfosRMETRICS3()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_RMETRICS_BIDBOD)) {
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reportlevel("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reporttype("4");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputRmetr().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Bidbod(),getColumnInfosRMETRICS4()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_RMETRICS_DETAIL)) {
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reportlevel("2");
                   //wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().setI_Reporttype("1");
                   wdContext.currentZ_Rm_Rmetrics_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputRmetr().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Metdet(),getColumnInfosRMETRICSD()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              } else if (reporttype.equalsIgnoreCase(GC_REPORTTYPE_WRITEOFF)) {
                   wdContext.currentZ_Rm_Writeoff_Get_ResultsElement().setI_Reportlevel("1");
                   wdContext.currentZ_Rm_Writeoff_Get_ResultsElement().setI_Reporttype("4");
                   wdContext.currentZ_Rm_Writeoff_Get_ResultsElement().modelObject().execute();
                   wdContext.nodeOutputWoff().invalidate();
                   bytes = toExcel(wdContext.nodeEt_Writeoff1(),getColumnInfosWRITEOFF()).getBytes();
                   cachedExcelResource = this.getCachedWebResource(bytes, fileName, WDWebResourceType.XLS);
              if (cachedExcelResource != null) {
                wdContext.currentContextElement().setExcelDownload(cachedExcelResource.getURL());
         } catch(WDDynamicRFCExecuteException ce) {
              manager.reportException(ce.getMessage(), false);
         } catch (WDURLException ce) {
              manager.reportException(ce.getMessage(), false);
         } catch (Exception ce) {
              manager.reportException(ce.getMessage(), false);
        //@@end
      //@@begin javadoc:wdDoExit()
      /** Hook method called to clean up controller. */
      //@@end
      public void wdDoExit()
        //@@begin wdDoExit()
        //@@end
      //@@begin javadoc:wdDoModifyView
    Hook method called to modify a view just before rendering.
    This method conceptually belongs to the view itself, not to the
    controller (cf. MVC pattern).
    It is made static to discourage a way of programming that
    routinely stores references to UI elements in instance fields
    for access by the view controller's event handlers, and so on.
    The Web Dynpro programming model recommends that UI elements can
    only be accessed by code executed within the call to this hook method.
    @param wdThis Generated private interface of the view's controller, as
           provided by Web Dynpro. Provides access to the view controller's
           outgoing controller usages, etc.
    @param wdContext Generated interface of the view's context, as provided
           by Web Dynpro. Provides access to the view's data.
    @param view The view's generic API, as provided by Web Dynpro.
           Provides access to UI elements.
    @param firstTime Indicates whether the hook is called for the first time
           during the lifetime of the view.
      //@@end
      public static void wdDoModifyView(IPrivateExportexView wdThis, IPrivateExportexView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
        //@@begin wdDoModifyView
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      private String trimHeaderText(String headerText) {
         StringBuffer newHeaderText = new StringBuffer();
         String token;
         StringTokenizer tokenizer = new StringTokenizer(headerText.trim());
         while (tokenizer.hasMoreTokens()) {
           token = tokenizer.nextToken();
           newHeaderText.append(token.substring(0, 1).toUpperCase());
           newHeaderText.append(token.substring(1).toLowerCase());
         return newHeaderText.toString();
      private void trimHeaderTexts(Map columnInfos) {
         String attributeName, trimmedHeaderText;
         for (Iterator iter = columnInfos.keySet().iterator(); iter.hasNext();) {
           attributeName = (String) iter.next();
           String attributeValue = (String) columnInfos.get(attributeName);
           attributeValue.replace('&','-');
           attributeValue.replace('/','-');
           trimmedHeaderText = trimHeaderText(attributeValue);
           columnInfos.put(attributeName, trimmedHeaderText);
      private String toExcel(IWDNode dataNode, Map columnInfos) {
         StringBuffer x = new StringBuffer();
         String attributeName, headerName;
         String entriesName = "I"; //dataNode.getNodeInfo().getName();
         String entryName = entriesName + "";
         // trim given header texts, so that XML element names adhere to the rule 'no spaces contained'.    
         trimHeaderTexts(columnInfos);
         x.append("<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n");
         x.append("<").append(entriesName).append(">\n");
         for (int i = 0; i < dataNode.size(); ++i) {
           IWDNodeElement dataNodeElement = dataNode.getElementAt(i);
           x.append("<").append(entryName).append(">\n");
           for (Iterator iter = columnInfos.keySet().iterator(); iter.hasNext();) {
              attributeName = (String) iter.next();
              headerName = (String) columnInfos.get(attributeName);
              String colVal = (String)dataNodeElement.getAttributeAsText(attributeName);
              //colVal = colVal.replace(' ','');
              colVal = colVal.replace('&','-');
              colVal = colVal.replace('<','L');
              colVal = colVal.replace('>','G');
              colVal = colVal.replace('/','-');
              x
                .append("<")
                .append(headerName)
                .append(">")
                .append(""+colVal)
                .append("</")
                .append(headerName)
                .append(">\n");
           x.append("</").append(entryName).append(">\n");
         x.append("</").append(entriesName).append(">\n");
         return x.toString();
      private String replaceSpecialChars(String inputString){
         String outputString = inputString;
         outputString.replace('A','B');
         inputString.replace('A','B');
         return outputString;
      private Map getColumnInfosAOISUMM() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZBUS__UNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZPRODCATEG__D, "ProfitCenter");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZ1_TO30__FKKOPRU, "One Month OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZ31_TO60__FKKOPRU, "Two Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZ61_TO90__FKKOPRU, "Three Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZ91_TO18__FKKOPRU, "Three to Six Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZGT180__FKKOPRU, "Greater Than Six Months");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZCURREN__FKKOPRU,"Current");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.ZZFUTURE__FKKOPRU, "Future");
         columnInfosMap.put(IPrivateExportexView.IEt_MasElement.TOTAL, "Total");
         return columnInfosMap;
      private Map getColumnInfosBU() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZPRCTR__D, "ProfitCenter");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZUWRITER__D, "Underwriter");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.ZZBROKER__D, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.GPART__D, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.VTREF, "Policy");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__ADJ, "Adjustment");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__COMM, "Commission");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__DUE, "Due");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__GROSS, "Gross");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__PAID, "Paid");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.AMNT__NET, "Net");
         columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.FAEDN, "DueDate");
         //columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.HVORG__D, "Main");
         //columnInfosMap.put(IPrivateExportexView.IEt_Bu1Element.TVORG__D, "Sub");
         return columnInfosMap;
      private Map getColumnInfosCARM() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZPRCTR__D, "ProfitCenter");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZMANAGER__D, "TeamManager");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZACCREP__D, "AccountRepresentative");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.ZZBROKER__D, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.GPART__D, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.VKONT, "Contract");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.VTREF, "Policy");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__ADJ, "Adjustment");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__COMM, "Commission");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__DUE, "Due");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__GROSS, "Gross");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__PAID, "Paid");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.AMNT__NET, "Net");
         columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.FAEDN, "DueDate");
         //columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.HVORG__D, "Main");
         //columnInfosMap.put(IPrivateExportexView.IEt_Carm1Element.TVORG__D, "Sub");
         return columnInfosMap;
      private Map getColumnInfosAOIDet() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZBUS__UNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZPRODCATEG__D , "ProfitCenter");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZNAME1__FKKOPRU, "BusinessPartner");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZNAME__B__FKKOPRU, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.BUKRS, "Company Code");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.VTREF, "Policy");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZHVORGT, "Main");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZTVORGT, "Sub");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZ1_TO30__FKKOPRU, "One Month OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZ31_TO60__FKKOPRU, "Two Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZ61_TO90__FKKOPRU, "Three Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZ91_TO18__FKKOPRU, "Three to Six Months OverDue");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZGT180__FKKOPRU, "Greater Than Six Months");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.TOTAL, "Total");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.ZZCURREN__FKKOPRU,"Current");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.OPBEL, "Document No");
         //columnInfosMap.put(IPrivateExportexView.IEt_Detail1Element.VKONT, "Contract Account");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.BUDAT, "Posting Date");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.FAEDN, "Due Date");
         columnInfosMap.put(IPrivateExportexView.IEt_DetailElement.WAERS, "Currency");
         return columnInfosMap;
      private Map getColumnInfosRMETRICS1() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZZPRODCATEG__D, "Profit Center");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.NAME__AR, "Collection Rep");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.NAME__IN, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z0_TO3__AMT, "ZeroToThreeDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z0_TO3__POL, "ZeroToThreeDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z4_TO5__AMT, "FourToFiveDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z4_TO5__POL, "FourToFiveDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z6_TO10__AMT, "SixToTenDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z6_TO10__POL, "SixToTenDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z11_TO15__AMT, "ElevenToFifteenDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z11_TO15__POL, "ElevenToFifteenDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z16_TO30__AMT, "SixteenToThirtyDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.Z16_TO30__POL, "SixteenToThirtyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZOVER30__AMT, "OverThirtyDaysBilledAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbidElement.ZOVER30__AMT, "OverThirtyNoOfPol");
         return columnInfosMap;
      private Map getColumnInfosRMETRICS2() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZZPRODCATEG__D, "Profit Center");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.NAME__AR, "Collection Rep");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.NAME__IN, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z0_TO30__AMT, "ZeroToThirtyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z0_TO30__POL, "ZeroToThirtyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z31_TO90__AMT, "ThirtytoNinetyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z31_TO90__POL, "ThirtytoNinetyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z91_TO120__AMT, "NinetytoOneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.Z91_TO120__POL, "NinetytoOneTwentyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZOVER120__AMT, "OVEROneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_EfdbodElement.ZOVER120__POL, "OVEROneTwentyDaysNoOfPol");
         return columnInfosMap;
      private Map getColumnInfosWRITEOFF() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ZZPRCTR__D, "ProfitCenter");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.INSU__NAME, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.INSOBJECT, "InsuranceObject");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.TVORG__TXT, "SubTransaction");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.HVORG__TXT, "MainTransaction");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ABGRD__D, "WriteOffReason");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ZZCOLLREP__D, "CollectionRepresentative");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.AUTH__NAME, "AuthName");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.AUTH__DATE, "AuthDate");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.WRITE__AMT, "WriteOffAmount");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.COMM, "Commission");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.GROSS, "Gross");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.NET, "Net");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.REVERSED, "Reversed");
         columnInfosMap.put(IPrivateExportexView.IEt_Writeoff1Element.ABDAT, "WriteOffDate");
         return columnInfosMap;
      private Map getColumnInfosRMETRICS3() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZZPRODCATEG__D, "Profit Center");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.NAME__AR, "CollectionRep");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.NAME__IN, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z0_TO30__AMT__I, "ZeroToThirtyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z0_TO30__AMT__P, "ZeroToThirtyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z31_TO90__AMT__I, "ThirtytoNinetyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z31_TO90__AMT__P, "ThirtytoNinetyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z91_TO120__AMT__I, "NinetytoOneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.Z91_TO120__AMT__P, "NinetytoOneTwentyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZOVER120__AMT__I, "OVEROneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_PaddudElement.ZOVER120__AMT__P, "OVEROneTwentyDaysNoOfPol");
         return columnInfosMap;
      private Map getColumnInfosRMETRICS4() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZZPRODCATEG__D, "Profit Center");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.NAME__AR, "CollectionRep");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.NAME__IN, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z0_TO30__AMT__I, "ZeroToThirtyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z0_TO30__AMT__P, "ZeroToThirtyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z31_TO90__AMT__I, "ThirtytoNinetyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z31_TO90__AMT__P, "ThirtytoNinetyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z91_TO120__AMT__I, "NinetytoOneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.Z91_TO120__AMT__P, "NinetytoOneTwentyDaysNoOfPol");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZOVER120__AMT__I, "OVEROneTwentyDaysBookedAmt");
         columnInfosMap.put(IPrivateExportexView.IEt_BidbodElement.ZOVER120__AMT__P, "OVEROneTwentyDaysNoOfPol");
         return columnInfosMap;
      private Map getColumnInfosRMETRICSD() {
         LinkedHashMap columnInfosMap = new LinkedHashMap(); 
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.ZZBUSUNIT__D, "BusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.ZZSUBBUSUNIT__D, "SubBusinessUnit");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.ZZPRODCATEG__D, "Profit Center");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.ZZREGION__D, "Region");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.ZZOFFICE__D, "Office");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NAME__AR, "CollectionRep");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NAME__IN, "Insured");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NAME__BR, "Broker");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.BILL__DT, "BillDate");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.BOOK__DT, "BookDate");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.CREATE__DT, "CreateDate");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.FANR, "InvoiceNumber");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.HVORG__D, "Main");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.TVORG__D, "Sub");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.GROSS, "GrossInvoiced");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NET, "NetInvoiced");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.COMM, "CommissionInvoiced");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.TAX, "TaxInvoiced");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.GROSS__PAID, "GrossPaid");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.TAX__PAID, "TaxPaid");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.NET__PAID, "NetPaid");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.COMM__PAID, "CommissionPaid");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.AUGDT, "ClearingDate");
         columnInfosMap.put(IPrivateExportexView.IEt_MetdetElement.AUGBT, "ClearingAmount");
         return columnInfosMap;
      private IWDCachedWebResource getCachedWebResource(byte[] file, String name, WDWebResourceType type) {
         IWDCachedWebResource cachedWebResource = null;
         if (file != null) {
           cachedWebResource = WDWebResource.getWebResource(file, type);
           cachedWebResource.setResourceName(name);
         return cachedWebResource;
      private static String GC_REPORTTYPE_OPENITEMS_SUMM = "AOISUMM";
      private static String GC_REPORTTYPE_OPENITEMS_DET = "AOIDET";
      private static String GC_REPORTTYPE_BPACCTSTAT_BU = "BPBU";
      private static String GC_REPORTTYPE_BPACCTSTAT_CARM = "BPCARM";
      private static String GC_REPORTTYPE_RMETRICS_EFDBID = "RMETRICS1";
      private static String GC_REPORTTYPE_RMETRICS_EFDBOD = "RMETRICS2";
      private static String GC_REPORTTYPE_RMETRICS_PADDUD = "RMETRICS3";
      private static String GC_REPORTTYPE_RMETRICS_BIDBOD = "RMETRICS4";
      private static String GC_REPORTTYPE_RMETRICS_DETAIL = "RMETRICSDETAIL";
      private static String GC_REPORTTYPE_WRITEOFF = "WRITEOFF";
      //@@end
    Marks will be rewarded for sure.
    Regards,
    Pranathi.

    Hi, I finally found the issue which was causing the numbers stored in text format issue. While exporting data to Excel programatically if any of the cells precede with a special character like -. = etc.. the data which is exported after that starts behaving in a peculiar way. So removal of any such special characters resolves the issue.
    Hope this helps..
    Regards,
    Macho

  • Creating Excel xml spreadsheets from XSL

    Hi
    I am trying to create Excel xml spreadsheets from XSL.
    I am using Tim's blog as my reference.
    http://blogs.oracle.com/xmlpublisher/2010/03/multisheet_excel_output.html
    Following is my xml data:
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <!-- Generated by Oracle Reports version 10.1.2.0.2 -->
    <XXTEK_TEST>
    <LIST_G_PROCESSED_DATE>
    <G_PROCESSED_DATE>
    <PROCESSED_DATE>30-MAR-09</PROCESSED_DATE>
    <PARTY_NAME>partyname1</PARTY_NAME>
    <ORDER_NUMBER>17183</ORDER_NUMBER>
    </G_PROCESSED_DATE>
    <G_PROCESSED_DATE>
    <PROCESSED_DATE>03-APR-09</PROCESSED_DATE>
    <PARTY_NAME>partyname2</PARTY_NAME>
    <ORDER_NUMBER></ORDER_NUMBER>
    </G_PROCESSED_DATE>
    <G_PROCESSED_DATE>
    <PROCESSED_DATE>03-APR-09</PROCESSED_DATE>
    <PARTY_NAME>partyname3</PARTY_NAME>
    <ORDER_NUMBER></ORDER_NUMBER>
    </G_PROCESSED_DATE>
    <G_PROCESSED_DATE>
    <PROCESSED_DATE>03-APR-09</PROCESSED_DATE>
    <PARTY_NAME>party name5</PARTY_NAME>
    <ORDER_NUMBER></ORDER_NUMBER>
    </G_PROCESSED_DATE>
    <G_PROCESSED_DATE>
    <PROCESSED_DATE>30-MAR-09</PROCESSED_DATE>
    <PARTY_NAME>partyname7</PARTY_NAME>
    <ORDER_NUMBER>17183</ORDER_NUMBER>
    </G_PROCESSED_DATE>
    </LIST_G_PROCESSED_DATE>
    </XXTEK_TEST>
    Following is my xsl file:
    <xsl:stylesheet version="1.0" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:my-scripts"
    xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-declaration="no"/>
    <xsl:template match="/">
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:html="http://www.w3.org/TR/REC-html40">
    <ss:Styles>
    <ss:Style ss:ID="Default" ss:Name="Normal">
    <ss:Font ss:Color="black" ss:Size="10" ss:Bold="1" ss:FontName="Arial"/>
    </ss:Style>
    <ss:Style ss:ID="x1">
    <ss:Font ss:Color="black" ss:Size="10" ss:FontName="Arial"/>
    </ss:Style>
    <ss:Style ss:ID="xdo2">
    <ss:Font ss:Color="black" ss:Size="10" ss:FontName="Arial"/>
    <ss:NumberFormat Format="$#,##0;[Red]$#,##0" Bold="0" />
    </ss:Style>
    </ss:Styles>
    <xsl:apply-templates select="XXTEK_TEST"/>
    </Workbook>
    </xsl:template>
    <xsl:template match="XXTEK_TEST">
    <Worksheet>
    <Table x:FullColumns="1" x:FullRows="1">
    <Row>
    <Cell>
    <Data ss:Type="String">Process date</Data>
    </Cell>
    <Cell>
    <Data ss:Type="String">Party name</Data>
    </Cell>
    <Cell>
    <Data ss:Type="String">Order number</Data>
    </Cell>
    </Row>
    <xsl:for-each select=".//G_PROCESSED_DATE">
    <Row>
    <Cell ss:StyleID="x1">
    <Data ss:Type="String">
    <xsl:value-of select="PROCESSED_DATE"/>
    </Data>
    </Cell>
    <Cell ss:StyleID="x1">
    <Data ss:Type="String">
    <xsl:value-of select="PARTY_NAME"/>
    </Data>
    </Cell>
    <Cell ss:StyleID="x1">
    <Data ss:Type="String">
    <xsl:value-of select="ORDER_NUMBER"/>
    </Data>
    </Cell>
    </Row>
    </xsl:for-each>
    </Table>
    </Worksheet>
    </xsl:template>
    </xsl:stylesheet>
    While creating the template, I have chosen the template type XSL-XML. I am trying to test this on E-business Suite (R12).
    I get the error "The uploaded file TEST_temp.xsl is invalid. The file should be in XSL format."
    Where am I going wrong?
    I am trying to create Excel XML spreadsheets, because the excel files created using RTF templates are very huge in size. And it is taking an unacceptable amount of time to open the file. Is there any other solution to overcome this performance issue?
    Regards
    Nishka

    Nishka,
    Looks like your XSL stylesheet is missing the XML header at the top.
    So normally it would look like:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet....>
    </xsl:stylesheet>
    as an Example a stylesheet which just outputs a field:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xdoxslt="http://www.oracle.com/XSL/Transform/java/oracle.apps.xdo.template.rtf.XSLTFunctions">
    <xsl:template match="/">
    <xsl:text>My field:</xsl:text>
    <xsl:value-of select="MYFIELD"/>
    </xsl:template>
    </xsl:stylesheet>
    Patrick

  • Export to Excel Error in SQL Server 2014 Report Builder/Viewer

    Hi,
    I am using the 2014 version of ReportViewer in a WinForm to display an RDL report.
    The report was originally created in Report Builder 2.0 (SQL 2008 R2), but has since been edited in Report Builder 3.0 (SQL 2014).
    The report loads and displays OK, and even exports to Word and PDF. But when exporting to Excel and then opening the Excel document, the following error occurs:
    "We found a problem with some content in <filename>. Do you want us to try and recover as much as we can? If you trust the source of this workbook, click Yes."
    If you click Yes, then a second message appears:
    "Removed Part: /xl/styles.xml part.  (Styles)
    Repaired Records: Cell information from /xl/worksheets/sheet1.xml part"
    The Excel document then opens, and the data is there, but there is no formatting (no border columns, colours, bolds etc.)
    The three interesting things are:
    - When exported from SQL 2008 R2 Report Builder 3.0, which exports to .xsl instead of .xslx, it works
    - A brand new report created in 2014 Report Builder 3.0 exports to .xslx great
    - In Report Builder 2014, I stripped everything back and removed all rows and columns so the original table in the report only has one empty row and column it the export still errors - it is only by removing the original table and creating a brand new table
    that export works OK
    It appears to be a problem with the tablix, but ideally we don't want to have to recreate our reports from scratch to fix this issue.
    Has anyone come across an issue like this before, and know of any potential resolutions to it?
    Thank you.

    Hello,
    Based on your description, you render a report originally created in Report Builder 2.0 (SQL 2008 R2) and export the report to excel with format of Excel 2007-2010.
    Edit the report in Report Builder will not upgrader the report. In that case the report still with SSRS 2008 R2 RDL schema. Please try to upgrade the report by open the report in Report Designer in SQL Server Data Tools (SSDT) and then try again.
    If you don’t want to upgrade the report, please try to export the report
    with Excel 2003 rendering extension and check if the issue persists.
    The SQL Server 2014 and SQL Server 2012 Reporting Services Excel rendering extension renders a report to the native format of Microsoft Excel 2007-2010 with .xlsx as file extension. Only the Excel rendering extension is available by default.
    You must update the Reporting Services configuration files to make the Excel 2003 rendering extension available.
    For example, changing the value of Visible to
    true in the following line in the RSReportServer.config:
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"
    Visible="true"/>
    Reference:Upgrade Reports
    Exporting to Microsoft Excel (Report Builder and SSRS)
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • ALV grid export to Excel 2003-f.01

    Hi all,
    I have an issue with ALV grid export to excel 2003 ,when i tried to download with the option as local file > xls file ,the report downloads with page breaks which the user does not want , each break comeswith header .
    With the option of list>export>xml sheet - the report downloads with out page break but with no header information like the name of the report and reporting period .The tcode is f.01 and the system is ECC6.
    Can any one suggest  how to download the report with tiltle of the report with no page break ?
    Thanks
    ske

    Hi
    What happens if you use the export/local file option - does that help at all or can you change the layout? Haven't got access to your release to check.
    Cheers
    David
    Edited by: David Berry on Oct 28, 2010 9:38 PM

  • ALV GRID with icon fields. When exports to Excel, icon fields are emtpy.

    Hi all,
    In our SAP system (6.0 ECC) we've noticed the following behaviour:
    In ALV GRID with icons (color lights for example...) when we export the list to Excel format with the standard button bat, the icon column is always empty.
    We think that in previous SAP version (4.7), the code corresponding to the icon appeared (For example @08@ for green light).
    It's possible to have tha same functionality in this new version like in 4.7?
    Regards.
    Edited by: Ole ES on Nov 17, 2010 6:05 PM

    Hi,
    Check the format in which you export to Excel (MHTML, XML, ...) and try antoher one.
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/66/79ad48157f11d2953700a0c930328a/content.htm
    I think the integrated Excel mode shows '@08@'.
    Best regards,
    Guillaume

  • Export to excel and csv

    I have table in a jsp and an export button. When user clicks on the export button the data in the table should be exported to either text, csv or excel depending on the option user chhoses. Can anyone help me with this? How to export to excel and csv format.

    Hi arthur_branham,
    I really liked the way you have replied. Can you pleae share the code with me at [email protected] below is my problem...
    I had data in XML.I have displayed the data in jsp. Now i need to provide a link "Export to Excel" in jsp which will invokea servlet prepare the excel report and open up directly through a servlet....
    I got some help from...http://www.javaworld.com/javaworld/jw-10-2006/jw-1019-xmlexcel.html?page=1...
    This is my code in servlet...
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet spreadSheet = wb.createSheet("Users");
    spreadSheet.setColumnWidth((short) 0, (short) (256 * 25));
    spreadSheet.setColumnWidth((short) 1, (short) (256 * 25));
    // Creating Rows
    HSSFRow row = spreadSheet.createRow(0);
    HSSFCell cell = row.createCell((short) 1);
    cell.setCellValue("Year 2005");
    cell = row.createCell((short) 2);
    cell.setCellValue("Year 2004");
    HSSFRow row1 = spreadSheet.createRow(1);
    HSSFCellStyle cellStyle = wb.createCellStyle();
    cellStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
    cellStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
    cell = row1.createCell((short) 0);
    cell.setCellValue("Revenue ($)");
    cell = row1.createCell((short) 1);
    cell.setCellValue("25656");
    cell = row1.createCell((short) 2);
    cell.setCellValue("15457");
    FileOutputStream output = new FileOutputStream(new File("/tmp/Users.xls"));
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment;filename=Users.xls");
    ServletOutputStream out = response.getOutputStream();
    wb.write(output);
    output.flush();
    output.close();
    forward = null;
    In firefox i get the download dialog box but not able to open in from there,i need to save it and then open. In IE i dont get the dialog box instead the excell open inside the browser......Please help me to open a excel sheet onclick on a link "Export to excel" in jsp......
    1)If possible help me with the above code.
    2)Or else plz sahre you code with me...
    Its urgent....
    Thanks in advance...

  • Export to Excel and File Upload is not working on ipad/IPhone

    Hi
    We have a site in ASP.Net 2008 which is running on browsers and devices. There is an option to export to excel and file uploadd, It is working in the browsers but not working in Devices like IPad and Iphone. we are creating xml file when export to excel. We have tried it on IPad1,IPad3 and iphone3.
    can you please elaborate the causes of these issues? Pleas support to fix the issues.
    Regards,
    Manoj

    How does your PL/SQL for the saving of uploaded files looks like? Where does this error happen? Does your process have an error message?
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Remove export to excel button on an assignment block

    Hi
    I have a requirement to remove the "export to excel button" on an assignment block".
    I have coded the following in .htm
    <chtmlb:configTable xml              = "<%= lv_xml %>"
                          id                    = "BuilContactPerson"
                          navigationMode        = "BYPAGE"
                          onRowSelection        = "select"
                          table                 = "//BuilContactPerson/Table"
                          displayMode           = "<%= controller->view_group_context->is_view_in_display_mode( controller ). %>"
                          width                 = "100%"
                          headerVisible         = "FALSE"
                          hasLeadSelection      = "TRUE"
                          downloadToExcel       = "FALSE"
                          actions               = "<%= controller->gt_button %>"
                          selectionMode         = "<%= BuilContactPerson->SELECTION_MODE %>"
                          selectedRowIndexTable = "<%= BuilContactPerson->SELECTION_TAB %>"
                          selectedRowIndex      = "<%= BuilContactPerson->SELECTED_INDEX %>"
                          visibleFirstRow       = "<%= BuilContactPerson->visible_first_row_index %>"
                          usage                 = "ASSIGNMENTBLOCK"
                         />
    Though I have coded the downloadTo Excel to "FALSE" the button still appears.
    I think the button comes by default for an assignment and I am not sure how to restrict for assignment block.
    Can anyone please provide some pointers on this?
    Thanks
    Sushma

    H Sushma,
    Could you check with this SAP note 1288220 inorder to disbale the export to excel in the AB's.
    Regards,
    Venkat.

  • I have 100 groups in planning for those 100 groups i want to build roles like interactive,view user,planner etc.for those how to change in export -import folder .xml file  in that edit  how  to change user roles in that xml it will generate automatic id.h

    I have 100 groups in planning for those 100 groups i want to build roles like interactive,view user,planner etc.for those how to change in export -import folder .xml file  in that edit  how  to change user roles in that xml it will generate automatic id.how to do that in xml file ?

    Thanks john for you are reply.
    I had tried what you sad.I open shared service in that foundation project i had export shared service.after that in import-export file.In that role.csv,user.csv,group.csv.Like this file have.When i open user file added some users after i trying save in excel it shown messgse
    I click yes and save the .csv file and import from share servie. i got error like this
    am i doing right way john.or explain clearly

  • Character drops zeros when exported to Excel

    I have a template that when exported to Excel from E-Business Suite, drops the leading zeros. We want those zeros to be there.
    For example, Project Number 000400 is SEGMENT1 of PA_PROJECTS_ALL so when viewed in Word, it shows the full text string. When the user exports to Excel, it drops the three leading zeros and just displays 400.
    Is there a way around this?
    Thanks,
    Rob

    Use a special character called a non-breaking-space and that should resolve your issue. Put it before or after your xml field
    Insert->Symbol->Special Characters Tab->Nonbreaking Space
    or
    Ctrl+Shift+SpaceIf this works, don't forget to give me some points. :-)
    Ike Wiggins
    http://bipublisher.blogspot.com

Maybe you are looking for