Reading Excel in PI

Hi,
Working on a interface to read excel file.
Referring the usual blog to read .xslx/.xlsm file.
I understood the use of module parameter . Now my question is how to create the data type.
Will it be just like the data type we create for normal interfaces or it will be like the xml of sheet1.xml got after unzipping the .xlsm file.
Thanks,

Hi Apu,
the blog says
This way our mapping will receive all data from the sheet in an XML format. The only thing that's left is to create an XSD file from the XML file we received in order to be able to use it in the mapping and as our Service Interface and we can proceed with mapping
First you finish the module configuration and run the scenario. it will generate the xml. but it can fail as you don't have the xsd.
From generated xml you can created xsd.
there are some online tools available to convert xml to xsd. then you can use that xsd for your scenario.
Regards,
Muni.

Similar Messages

  • Error reading excel file using POI.

    Hi ,
    I am having some problem when reading the excel file.
    While reading excel file I am getting error-java.io.IOException: Unable to read entire block; 4 bytes read; expected 512 bytes.
    part of my code:-
    InputStream stream = objFormFile.getInputStream();
    POIFSFileSystem fs = new POIFSFileSystem(stream);//getting above error here.
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    Case 1:
    I download the file on the system ,save it ,and then directly upload it to the system ,I get the above error .
    Case 2:
    It works fine if I download the excel and manually open and save it and then upload it .
    I am using JDK1.4.1 and poi-2.5.1-final-20040804.jar.
    Can any one please help me out for the above problem?
    Edited by: hruday on Jul 31, 2008 3:20 AM

    Instead of using POIFSFileSystem, try to directly create the HSSFWorkbook
    InputStream stream = objFormFile.getInputStream();
    //POIFSFileSystem fs = new POIFSFileSystem( stream );//getting above error here.
    HSSFWorkbook wb = new HSSFWorkbook( stream );

  • How to read Excel file in java

    Respected sir/madam
    I want to read the values from Excel file in Java program. How can I do that. When I searched over the net I came to know that you can treat Excel file as a Database and write the code as u write for making DB connections .
    I did that but i am getting the following error ..can anybody please help..
    This is the code what i have written
    import java.io.*;
    import java.sql.*;
    public class ReadExcelFile {
    Connection c;
    Statement stmnt;
    public void checkABA_Number()
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    c = DriverManager.getConnection("jdbc:odbc:ExcelTest","",""); // ExcelTest is the DSN name
    stmnt = c.createStatement();
    ResultSet rs = stmnt.executeQuery("select * from abadata"); // abadata is my Excel file name
    while(rs.next())
    System.out.println(rs.getString(1)+" "+rs.getString(2));
    }catch(Exception e)
    System.out.println(""+e.toString());
    finally
    try
    stmnt.close();
    c.close();
    catch( Exception e )
    System.err.println( e );
    public static void main(String[] args)
    new ReadExcelFile().checkABA_Number();
    My Excel file starts from the first row and first column and also the first row contains the names of the column.
    It give me the following error..
    java.sql.SQLException: [Microsoft][ODBC Excel Driver] The Microsoft Jet database engine could not find the object 'abadata'. Make sure the object exists and that you spell its name and the path name correctly.
    How can I deal with this.?I have properly selected the worksheet while giving the DSN . Is there any versionig problem with Excel or some drivers are in appropriate..and yes i chose Microsoft Excel Driver (.xsl) from ODBC .
    I created System DSN.
    Can anybody please help me with this ? I will be very gratefull for replies
    Thanks in advance

    here is the code to read excel file
    public void readexel(String filename)
    Connection c = null;
    Statement stmnt = null;
    try
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    c = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=" + filename);
    stmnt = c.createStatement();
    String query = "Select * from [Sheet1$]" ;
    ResultSet rs = stmnt.executeQuery( query );
    while( rs.next() )
    System.out.println( rs.getString(1) );
    catch( Exception e )
    System.err.println( e );
    }

  • How to read Excel file in flex

    Hi,
         I am new to Adobe flex and i dont know how to read Excel in flex and i need coding for that. So anybody help me...
    thanks in advance...

    Hi
    You can read and parse XLS files (only works with xls-files) with urlloader and a ZIP-lib that can read zip-files.
    public function loadXLS(url:String):void
                var urlLoader:URLLoader = new URLLoader();
                urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
                urlLoader.addEventListener(Event.COMPLETE, onLoadComplete);
                urlLoader.load(new URLRequest(url));
            private function onLoadComplete(even:Event):void
                urlLoader.removeEventListener(Event.COMPLETE, onLoadComplete);
                model.sheetsDict = new Dictionary();
                var zipFile:ZipFile = new ZipFile(urlLoader.data);
                for(var i:int = 0; i < zipFile.entries.length; i++)
                    var entry:ZipEntry = zipFile.entries[i];
                    var data:ByteArray = zipFile.getInput(entry);
                    if(useFile(entry.name, "/sheet([^$]+)"))
                        model.sheetsDict[entry.name.split("xl/")[1]] = new XML(data.toString());
                    else if( useFile(entry.name, "/sharedStrings.xml") )
                        model.sharedStrings = new XML(data.toString());
                    else if( useFile(entry.name, "/workbook.xml$") )
                        model.workbook = new XML(data.toString());
                    else if( useFile(entry.name, "/workbook.xml.rels") )
                        model.rels = new XML(data.toString());
                trace(model.sharedStrings)
    to read the xml properly you have to use namespaces in the reader-class
    namespace ns1 = "http://schemas.openxmlformats.org/spreadsheetml/2006/main";
            use namespace ns1;
            namespace ns2 = "http://schemas.openxmlformats.org/officeDocument/2006/relationships";
            use namespace ns2;
            namespace ns3 = "http://schemas.openxmlformats.org/markup-compatibility/2006";
            use namespace ns3;
            namespace ns4 = "urn:schemas-microsoft-com:mac:vml";
            use namespace ns4;
            namespace ns5 = "http://schemas.openxmlformats.org/package/2006/relationships";
            use namespace ns5;
    //Olof

  • Open data set for reading excel file on application server in back ground

    open data set for reading excel file on application server in back ground

    hi Vijay,
    I am afraid you won't be able to read from Excel file on Appl. Server.
    ec

  • Error while reading excel file from application server into internal table.

    Hi experts,
    My requirement is to read an excel file from application server into internal table.
    Hence I have created an excel file fm_test_excel.xls in desktop and uploaded to app server using CG3Z tcode (as BIN file type).
    Now in my program I have used :
    OPEN DATASET v_filename FOR INPUT IN text mode encoding default.
    DO.
    READ DATASET v_filename INTO wa_tab.
    The statement OPEN DATASET works fine but I get a dump (conversion code page error) at READ DATASET statement.
    Error details:
    A character set conversion is not possible.
    At the conversion of a text from codepage '4110' to codepage '4103':
    - a character was found that cannot be displayed in one of the two
    codepages;
    - or it was detected that this conversion is not supported
    The running ABAP program 'Y_READ_FILE' had to be terminated as the conversion
    would have produced incorrect data.
    The number of characters that could not be displayed (and therefore not
    be converted), is 445. If this number is 0, the second error case, as
    mentioned above, has occurred.
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_CONVERSION_CODEPAGE', was not
    caught and
    therefore caused a runtime error.
    The reason for the exception is:
    Characters are always displayed in only a certain codepage. Many
    codepages only define a limited set of characters. If a text from a
    codepage should be converted into another codepage, and if this text
    contains characters that are not defined in one of the two codepages, a
    conversion error occurs.
    Moreover, a conversion error can occur if one of the needed codepages
    '4110' or '4103' is not known to the system.
    If the conversion error occurred at read or write of  screen, the file
    name was '/usr/sap/read_files/fm_test_excel.xls'. (further information about
    the file: "X 549 16896rw-rw----201105170908082011051707480320110517074803")
    Also let me know whether this is the proper way of reading excel file from app server, if not please suggest an alternative .
    Regards,
    Karthik

    Hi,
    Try to use OPEN DATASET v_filename FOR INPUT IN BINARY mode encoding default. instead of OPEN DATASET v_filename FOR INPUT IN text mode encoding default.
    As I think you are uploading the file in BIN format to Application server and trying to open text file.
    Regards,
    Umang Mehta

  • Adapter Module (Reading Excel File)

    Hi Guys,
    I followed the Webblog : Read Excel instead of XML through FileAdapter
    For File Adapter Module Development , for reading Excel Sheet.
    Deployment all went fine and when i used in my configuration , file is getting picked up but the xml content is not getting displyed , it says not well formated.Below error is shown in the CC Monitor
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    XML document must have a top level element. Error processing resource 'http://pxxxxx:50xxx/mdt/messagecontentservlet?att...
    My coding in nwds
              xmldata =   "<?xmlversion="1.0"encoding="UTF-8"?>
                             + "<ns:"+wb.getSheet(0).getCell(0, 0).getContents() +"xmlns:ns=""
                             + wb.getSheet(0).getCell(1, 0).getContents() + "">"
                             + "<Name>"+ wb.getSheet(0).getCell(1, 2).getContents()
                             + "</Name>" +"</ns:" wb.getSheet(0).getCell(0, 0).getContents()">";
    Kindly suggest if any
    srini
    Edited by: Venkateswarlu Srinivas on Jul 4, 2008 2:47 PM

    try removing the \n you have added in the string

  • Jar files required to read excel file in SAP PI 7.3.1 sp09 dualstack

    Hi experts,
    I need to read excel file (.xls) using SAP PI and process it to target system. I have read blogs
    and found that there are 2 ways to read an excel file in PI using file adapter.
    1) Developing a custom adapter module
    2) Using XSLT code.
    So in order to develop a custom adapter module, i have followed the following blogs
    **************** - XI - Step-by-step guide to develop Adapter Module to read Excel file
    and
    Excel Files - How to handle them in SAP XI/PI (The Alternatives)
    and
    http://wiki.scn.sap.com/wiki/display/ABAP/Adapter+Module+To+Read+Excel+File+with+Multiple+Rows+and+Multiple+Columns
    I am unable to find the jar files in SAP PI at OS level as per the first blog(think they were obsolete).
    Please let me know
    1) What are the required jar files needed to read excel file and their location
    2) Even if i use the old jar files as mentioned in the first blog can i achieve my requirement
    3) Following this blog Convert incoming XML to Excel or Excel XML – Part 1 - XSLT Way if i apply the same logic at sender side, will it work? Because through case studies i came to know that we cannot read a .xls file using XSLT code. Correct me if i am wrong.
    Looking for your valuable suggestions.
    Regards
    Shilpa

    Hi Shilpa
    Welcome to SCN!
    The blog you refered to might be for previous versions of PI. You can refer to the following two wikis to find out what are the relevant JAR files for PI 7.3 and also how to get them.
    XI libraries for development - Process Integration - SCN Wiki
    Where to get the libraries for XI development - Process Integration - SCN Wiki
    It also looks like for newer versions, you might not need to manually get and add those JAR files into your NWDS project - please refer to the first comment on the blog below. I have not tried it personally as I'm not using the latest NWDS, but you can try that first, and if it does not work, then go get them manually.
    PI 7.4 - Adapter Module Creation using EJB 3.0
    Do note that you should be using the JAR files that is corresponding to your PI server version.
    As for your third question, that does not apply to you. XLS is the older non-XML format, and therefore cannot be read by XLST since it is in binary format.
    Rgds
    Eng Swee

  • Adapter module to read excel file -java code required for PI 7.1

    Hi PI experts,
    I am working on PI 7.1 SP 08.
    I am trying to develope an adapter module to read excel file
    http://wiki.sdn.sap.com/wiki/display/ABAP/AdapterModuleToReadExcelFilewithMultipleRowsandMultiple+Columns
    but here in this wiki , given java code is for pi 7.0 and it is using jar file from PI 7.0
    I tried with using corresponding PI 7.1 files
    com.sap.aii.af.lib.mod.jar:
    sap.comtcloggingjavaimpl.jar:
    com.sap.aii.af.svc_api.jar:
    com.sap.aii.af.cpa.svc_api.jar:
    com.sap.aii.af.ms.ifc_api.jar:
    jave program is not throwing any error in NWDS but After deploying file on server.
    i am getting this errot in communication channel
    2009-12-15 15:47:08 Information AO: Now calling the Convert Method to convert Excel to XML.
    2009-12-15 15:47:08 Error MP: exception caught with cause javax.ejb.TransactionRolledbackLocalException: nested exception is: java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: Bad version number in .class file; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: Bad version number in .class file; nested exception is: javax.ejb.EJBTransactionRolledbackException: nested exception is: java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: Bad version number in .class file; nested exception is: javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.UnsupportedClassVersionError: Bad version number in .class file
    since i am not a JAVA expert so i am unable to resolve this error
    if some one has already deployed this module for PI 7.1, then please provide me java code for PI 7.1
    Thanks
    sandeep sharma

    hi,
    please try this:
    obj = inputModuleData.getPrincipalData();
    msg = (Message) obj;
    amk = new MessageKey(msg.getMessageId(),msg.getMessageDirection());
    XMLPayload xpld = msg.getDocument();
    Workbook wb = Workbook.getWorkbook((InputStream) xpld.getInputStream());
    xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n"+ "<ns0:"msgType" ""xmlns:ns0=\""nameSpace+"\">";
    Cell[] cells ;
    Cell[] cellNames ;
    cellNames = wb.getSheet(0).getRow(0);
    for(int j=1;j<wb.getSheet(0).getRows();j++)
    xmldata = xmldata+"<Record>";
    cells = wb.getSheet(0).getRow(j);
    for(int i=0;i<wb.getSheet(0).getColumns();i++)
    xmldata = xmldata"<"cellNames<i>.getContents()">"cells<i>.getContents()"</"cellNames<i>.getContents()+">";
    xmldata = xmldata+"</Record>";
    xmldata = xmldata"</ns0:"msgType+">"; 
    wb.close();
    byte byt[] = xmldata.getBytes();
    xpld.setContent(byt);
    inputModuleData.setPrincipalData(msg);
    Thanks,
    Mayank

  • Reading excel  sheet from out side of the server though sql developer.

    Hi ALL,
    Is it possible to read the excel sheet from the out side of the oracle server.
    If it possible please send me the sample code.

    Duplicate thread.
    Reading excel  sheet from local system though sql developer
    Also a FAQ
    SQL and PL/SQL FAQ

  • Customised module for reading Excel files.

    Hi Gurus,
    I have to develop a customsed java module for reading Excel files from PI. I downloaded NWDS 7.31 from following location NWDS Download links - Java Development - SCN Wiki. I have installed it on my local laptop. For developing the module I need following Jar files.
    com.sap.aii.af.ms.svc_api
    com.sap.aii.proxy.svc_api.jar
    com.sap.aii.sec.svc_api.jar
    com.sap.aii.utilxi.server.jar
    com.sap.aii.utilxi.core.jar
    com.sap.xi.mapping.tool.lib_api.jar
    sap.com~tc~bl~txmanagerimpl~plb~impl.jar
    sap.com~tc~je~appcontect_api~API.jar
    com.sap.aii.af.cpa.svc.api
    com.sap.aii.af.lib.mod
    com.sap.aii.af.ms.ifc_api
    com.sap.aii.af.svc_api
    com.sap.xpi.ib.mapping.lib
    1. Where can i get these jar files. I checked these files in my downloaded NWDS 7.31  package, but cold not find them.
    Thanks in advance

    Hi.
    Check this thread.
    Where to get the libraries for XI development - Process Integration - SCN Wiki
    Regards
    Lucho

  • How to Read Excel Work Sheet Name

    Hi
    I am try to read Excel sheet from SAP B one. any one tell me how to get the Sheet name through Programmatically in C#....
    Senthil Kumar

    There are two ways you can do that:
    #1
    A - put the budget.htm file on your server where you can link to it.
    B - on the web page add an HTML snippet with the folloiwng code:
    <iframe height="XXXpx" allowTransparency="true" frameborder="0" scrolling="no" style="width:XXXpx;border:none" src="URL TO BUDGET.HTM FILE"></iframe>
    Set the width and height, in pixels, so that the snippet will display the entire table.
    #2
    A - open the budget.htm file with a text editor and copy all of the code.
    B - add an HTML snippet to the iWeb page and paste the code into the snippet.
    An example of both methods are near the bottom of this demo page: Tables.
    With method 1, you can edit or change the table without having to use iWeb. Just replace the budget.htm file with the new and improved version on the server. That will automatically be seen in the published site.
    OT
    Message was edited by: Old Toad

  • Problem in reading excel file

    Hi All,
    I have a requirement to read records from an excel to an internal table.I am using FM
    KCD_EXCEL_OLE_TO_INT_CONVERT  to read excel.
    My problem arises when the program comes across a cell which contains some formulae assigned to it.
    The FM does not read the value in the specified cell  and throws a runtime-error.
    Please help me out .
    Thanks and regards
    Dinesh behera

    Hi,
    Try this one.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = v_file
          i_begin_col             = 1
          i_begin_row             = 2
          i_end_col               = 11
          i_end_row               = 10
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *looping the table
      LOOP AT it_excel INTO wa_excel.
    *coloum wise diffrensiate the internal table data
        CASE wa_excel-col.
          WHEN '0001'.
            wa_input-tcode = wa_excel-value.
          WHEN '0002'.
            wa_input-vendor = wa_excel-value.
          WHEN '0003'.
            MOVE: wa_excel-value TO wa_input-inv_date.
          WHEN '0004'.
            MOVE: wa_excel-value TO wa_input-inv_no.
          WHEN '0005'.
            MOVE: wa_excel-value TO wa_input-post_date.
          WHEN '0006'.
            MOVE: wa_excel-value TO wa_input-comp_code.
          WHEN '0007'.
            MOVE: wa_excel-value TO wa_input-acc.
          WHEN '0008'.
            MOVE: wa_excel-value TO wa_input-cost_center.
          WHEN '0009'.
            MOVE: wa_excel-value TO wa_input-amt.
          WHEN '0010'.
            MOVE: wa_excel-value TO wa_input-int_ord.
        ENDCASE.
    *At end of every row append the excel data into table it_data
        AT END OF row.
          APPEND wa_input TO it_input.
          CLEAR wa_input.
        ENDAT.
      ENDLOOP.

  • ODI reading Excel via ODBC on Linux

    I've got ODI loading data from Excel via ODBC with everything running on Windows, and it runs fine!
    But will this work when I run ODI on a Linux platform? Will I have to buy some kind of ODBC driver for Excel under Linux? Has anyone done this before?
    Any help gratefully received!
    Thanks
    A

    There exists a native JDBC driver for excel, it is a sourcefourge project. This allows you to read excel data irrespective of platform through JDBC rather than having to use the JDBC/ODBC bridge.

  • Upload and Reading Excel File in Web Dynpro

    Hi all,
    I have a requirement in my application( in 04s), where in, i need to upload an excel from a client through a web dynpro application(using fileupload UI) and read each and every the content of that excel file in web dynpro and process the data accordingly.
    The format of the excel is fixed and pre-defined.
    I went through a lot of blogs, but could not find a direct and exact solution to this requirement.
    Please help me.
    Looking forward to your contribution
    Thank you,
    Gita KC.

    Reading Excel Sheet from Java without using any Framework
    Enhanced File Upload - Uploading and Processing Excel Sheets
    Reading Multiple Sheets of Excel Sheet from Java
    nikhil

  • DI: Unable to read Excel source

    Hi,
    We use BusinessObjects Data Services XI 3.1, version 12.1.1 on UNIX Server.We have created BoExcelAdapter to read Excel source and we were not facing any issues in reading the Excel files so far.
    Yesterday when we ran the job to read a new excel file, we received the error message 'Could not find worksheet ... in file ..'.
    But the excel file has the specified worksheet.
    Could you please guide me as to what has caused such an error and how to resolve this.
    Thanks,
    RaajMahee

    Hi RaajMahee
    Cause
    On Unix, the excel adapter uses the apache poi browser to read the spreadsheet.
    When the adapter tries to open the spreadsheet with the poi api, the poi api chokes and gets an exception of ArrayIndexOutofBound.
    POI library does not support a feature found in the workbook
    Resolution
    This problem had already been addressed in the latest poi patch release, poi-3.2-FINAL-20081019.jar.
    1. Download the attached file poi-3.7-20101029 and rename it to poi-FINAL-3.7-20101029.jar
    2. Copy the poi-FINAL-3.7-20101029.jar file to your $LINK_DIR/lib directory of your Unix/Linux server.
    3. Through the Data Services Management Console, stop the excel adapter.
    4. Using the Data Services Management console, modify the Excel Adapter's class path and replace the reference to poi-         2.5.1-final-20040804.jar with its full path with poi-FINAL-3.7-20101029.jar with its full path.
    5. Save and restart the adapter.
    6. Try again processing the Excel file with formulas.
    if you want to download the  poi-3.7-20101029 file just follow the link
    [https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/sno/ui_entry/entry.htm?param=69765F6D6F64653D3030312669765F7361706E6F7465735F6E756D6265723D3132393634353426]
    if you are unable to access this link(Why because it ask login credentials) just put your e-mail and i will send the zip file.
    Thanks
    Prasad

Maybe you are looking for

  • Copying songs on same computer - different accounts

    My son and daughter each received an iPod for Christmas. They are managing their own iTunes library under their own login on the same iMac that I use. There are a couple songs in my library that they would like to sync to their iPods. I know I can sh

  • PO when Finally Closed does not release funds

    In 11.5.9; if we final close a PO using standard "po_actions.close_po" procedure, the PO used to get Finally Closed and corresponding Funds get released. However, the same does not work in 11.5.10. I would be glad if anyone can help me in this regard

  • Oracle.xdb.XMLType extract function

    I have an external java program that connect to the database using a thick connection so I can use the methods extract and existsNode available with the XMLType from oracle.xdb.XMLType. DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver

  • To connect the Current User Filter with the Excel Web Access

    Hello, I have uploaded an excel sheet which has data in Pivot table format into SharePoint site and then by using the current user filter I am trying to connect the filter (sharepoint profile user property) to a parameter in the excel sheet. I have d

  • The download asks for Firefox to installed

    I tried to install a add on eg. the search engine ixquick. the download asked me to install firefox first before getting the add on downloaded and installed. I tried: 1.) from the site xquick itself (it offers the required plugin) 2.) from the add on