Excel Upload in Web Dynpro

Hi all
I have got a requirement wherein i need to upload excel in Web Dynpro.
Currently we are trying to upload an excel file in our WDC. However it gives an error (Error occurred during character conversion) and dumps while converting the data to xstring format.
It converts csv files successfully, but we must have excel file conversion.
If anyone before has worked on this kind of requirement or if has got any ideas then please share the same.
Thanks,
Shantanu

Hi Shantanu,
Firstly , convert the uploaded  data in XSTRING format into STRING format using FM u2018HR_KR_XSTRING_TO_STRINGu2019 .
Then using the utilities cl_abap_char_utilities , convert string into horizontal tabs and bind the data accordingly.
I hope this helps.
With Regards,
Vipin.

Similar Messages

  • Excel Upload via Web dynpro ABAP

    Hi All,
    Could any one please explain how to upload MS Excel file in Web Dynpro ABAP?
    Regards,
    Surya

    Hi Surya,
    Ya Excel upload is not supported some times.
    You can save your excel sheet as "Tab Limited" file. Then you can easily upload the file contents to your WebDynpro.
    Thanks.

  • Uploading excel file in Web Dynpro for ABAP

    Hello Gurus,
                       I need to upload a excel file in my Web Dynpro (ABAP) program. Can anyone please tell me how do i do this. Kindly help.
    Regards,
    Aditya.

    Hi Aditya,
    Please search the forum...
    Please check this link
    Uploading Data from Excel File To Dynpro
    Excel Upload via Web dynpro ABAP
    Upload and Reading Excel File in Web Dynpro
    Best regards,
    raam

  • 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

  • How do we scan for viruses of uploaded excel file in Web Dynpro for JAVA

    Hi All,
    Please let me know "How do we scan for viruses of uploaded excel file in Web Dynpro for JAVA"
    Regards,
    Ganga.

    Hi ,
    pl go through this note "Integrating a virus scan into SAP applications 817623 "
    SAP Virus Scan Interface
    http://help.sap.com/saphelp_nw2004s/helpdata/en/30/42c13a38b44d5e8d1b140794e8e850/frameset.htm
    Sample Application
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/6e1c4221-0901-0010-63ba-b1f9459d6e74
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2681486-0a01-0010-8497-c778eac80da5
    Regards
    Ayyappparaj

  • Error While uplaoding a EXCEL file in Web dynpro - HR_KR_XSTRING_TO_STRING

    Hi,
        I am getting an error while uploading an excel file in web Dynpro application. i am using the HR_KR_XSTRING_TO_STRING this function. I am getting the following error message 'Unable to interpret    as a number'.

    First of all, are you sure you know what you are working with here.  If this is standard Excel file in the Microsoft binary/propriatery format there is not function module or class in ABAP that can magically just transform this to a character string.  You should search the forums as this has been discussed extensively.  On that topic, please also do not post duplicate threads.  I have already locked your other thread with the same basic question.
    Instead of the binary/propriatery format of Excel, the file should be saved on the client as a text based format - like XML or Text Tab Delimited. You can then use several different options on the server to convert the XSTRING to STRING and process the content (becuase it was text based to begin with).  You could use CL_BCS_CONVERT, the function modules in the function group SCMS_CONV, or the class CL_ABAP_CONV_IN_CE.

  • Reading contents of uploaded excel file in web dynpro java

    Hi All.
    I am aware how to provide facility to upload files in web dynpro java. But my requirement is that on uploading a particular file (for eg. an excel file having 10 columns), I need to read the contents of that file and store it in a table in R/3.Can anyone suggest a way how I can read the contents of the uploaded file?
    Thanks and Regards,
    Saurabh.

    Hi.
    I am having the following requirement : I have a FileUpload UI element where user clicks Browse button, selects a file from the local system and presses a Upload button. Upon pressing Upload, the name of the selected file and the contents of the file should be shown.
    In the View context, I have two value attributes: FileName of type String and FileResource of type binary.
    This is the code that I have in the Upload button action handler :
      public void onActionUpload(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionUpload(ServerEvent)
        IWDAttributeInfo attributeInfo = wdContext.getNodeInfo().getAttribute(
                 IPrivateReadExcelView.IContextElement.FILE_RESOURCE);
        IWDModifiableBinaryType binaryType = (IWDModifiableBinaryType)attributeInfo.
                 getModifiableSimpleType();
        IPrivateReadExcelView.IContextElement element = wdContext.createContextElement();
        String fname = binaryType.getFileName();
        wdComponentAPI.getMessageManager().reportSuccess("File selected - "+fname);  //Statement 1
         try {
              wdComponentAPI.getMessageManager().reportSuccess("Successful");    // Statement 2
              InputStream in = new FileInputStream(fname);
              HSSFWorkbook wb = new HSSFWorkbook(in);
              wdComponentAPI.getMessageManager().reportSuccess("Successful");    //Statement 3
              int sheetsNo = wb.getNumberOfSheets();
              for (int i=0;i<sheetsNo;i++) {
                   HSSFSheet sheet = wb.getSheetAt(i);
                   Iterator rowsNo = sheet.rowIterator();
                   while(rowsNo.hasNext()) {
                        HSSFRow rows = (HSSFRow)rowsNo.next();
                        Iterator colsNo = rows.cellIterator();
                        while(colsNo.hasNext()) {
                             HSSFCell cell = (HSSFCell)colsNo.next();
                             wdComponentAPI.getMessageManager().reportSuccess("File uploaded" +
                                  "successfully");
                             if(cell.getCellType()==1) {
                                  wdComponentAPI.getMessageManager().reportSuccess("00000"+
                                       cell.getStringCellValue());
                             else if(cell.getCellType()==0) {
                                  String str=""+cell.getNumericCellValue();
                                  wdComponentAPI.getMessageManager().reportSuccess("11111"+str);
         catch(Exception e) { wdComponentAPI.getMessageManager().raisePendingException();
        //@@end
    On pressing Upload button, name of selected file is being shown(Statement 1). I am also getting Statement 2 in the output. However I am not getting Statement 3 onwards.
    Where am I going wrong? Can anyone shed some light on this?

  • Regarding Copying of Data From Excel file to Web Dynpro Java Table

    Hi
    Can any body give Suggestions that is how to copy or import Row and Column Values in the Excel file to the Java Web Dynpro Table
    Regards
    Chandran S

    Hi,
    First u should include jxl.jar API in ur classpath.
    ind a Resource variable to FileUpload UI. Then from the Fileupload UI, u can get the Sheet variable as
    InputStream fis=wdContext.currentFileUploadElement().getResource().read(true);
    Workbook wb=Workbook.getWorkbook(fis);
    Sheet sh=wb.getSheet(0);
    This can be easily read to a table by
    for(int i=14;i<34;i++)
         String bId=sh.getCell(2,i).getContents();
         String cId=sh.getCell(3,i).getContents();
         String subj=sh.getCell(4,i).getContents();
                    IPrivate<View>.I<Table>Element el=wdContext.node<Table>().create<Table>Element();
                    wdContext.node<Table>().addElement(el);
                    el.setBID(bid);
                    el.setCID(cid);
                    el.setSUB(subj);
    This example reads the excel from row 13 to 32 and column 3 to 5 and uploaded to a table
    Regards
    Fahad Hamsa

  • Download Excel file through Web dynpro with no windows open?

    Can we have a web dynpro application that just returns an Excel file in the response with no open windows? Similar to a java servlet that is used to download a Excel file?
    This basically means that I cannot use wdComponentAPI.getWindowManager().createNonModalExternalWindow()
    Java Servlet Code
    HttpSession session = request.getSession();      // get a handle on the session id
    response.setContentType("application/download");
    response.setHeader("Content-Disposition", "filename=RTIS_Report.xls");
    PrintWriter out = null;
    out = response.getWriter();
    String report = request.getParameter("REPORT");
    JCO.Table lines = download(request, session, report);
    for (int i = 0; i < lines.getNumRows(); i++) {
         lines.setRow(i);
         String content = lines.getString("LINES") + "\n";
         out.write(content);
         out.flush();
    out.flush();
    out.close();

    Hi,
    I think you can use IWD Cached Web Resource to achieve this..
    See the below code FYI..
    public void downloadToExcel( )
        String fileName = "Customer" + ".xls";
         IWDCachedWebResource cachedExcelResource = null;
         try
              File f = new File("Customer.xls");
              WritableWorkbook workbook =   Workbook.createWorkbook(f);
              WritableFont black = new WritableFont(WritableFont.createFont("Trebuchet MS"),WritableFont.DEFAULT_POINT_SIZE,WritableFont.BOLD,false,UnderlineStyle.SINGLE,Colour.BLACK);
              WritableCellFormat blackFormat = new WritableCellFormat(black);
              WritableFont blue = new WritableFont(WritableFont.createFont("Trebuchet MS"),WritableFont.DEFAULT_POINT_SIZE,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
              WritableCellFormat blueFormat = new WritableCellFormat(blue);
              WritableSheet sheet = workbook.createSheet("Customer", 0);
                   Label label;
                   String[] header={"Corporate Code","Batch ID"};
                   for (int i=0;i<2;i++)
                        label = new Label(i,0,header<i>.toString(),blackFormat);
                        sheet.addCell(label);
                   WritableCellFormat integerFormat = new WritableCellFormat(NumberFormats.INTEGER);
                   jxl.write.Number number;
                   // Reading the contents
                   for(int i=0;i<wdContext.nodeVn_DownloadToExcel().size();i++)
                        String strCorpName = wdContext.currentContextElement().getVa_CorpCode();
                        String strBatchID =     wdContext.nodeVn_DownloadToExcel().getVn_DownloadToExcelElementAt(i).getVa_BatchID();
                        label = new Label(0,i+1,strCorpName,blueFormat);
                        sheet.addCell(label);
                        label = new Label(1,i+1,strBatchID,blueFormat);
                        sheet.addCell(label);
                   workbook.setColourRGB(Colour.LIME, 0xff, 0, 0);
                   workbook.write();
                   FileInputStream excelCSVFile = new FileInputStream(f);
                   IWDCachedWebResource cachedWebResource = null;
                   if (excelCSVFile!= null)
                        cachedWebResource = WDWebResource.getWebResource(excelCSVFile, WDWebResourceType.getWebResourceType("xls","application/ms-excel"));
                   cachedWebResource.setResourceName(fileName);
              cachedExcelResource = cachedWebResource;
              wdContext.currentContextElement().setVa_DownloadToExcel(cachedExcelResource.getURL());
              workbook.close();
         catch (Exception ex)
              wdComponentAPI.getMessageManager().reportException("Error in Excel Download"+ex.getMessage(),false);
    Regards,
    Vijay

  • Unable to perform Calculations on Excel exported from Web Dynpro ABAP

    Hi Gurus,
    I have a custom functionality "Export to Excel" internal table data on my web dynpro application. I dint go with standard ALV feature because it doesnot give flexibility to add colours to excel sheet and add multiple tabs and so i had to write XML ABAP coding in the web dynpro application to achieve this. While passing the internal table data into cells, i created cells with string data type and hence all the fields in the excel are now in char type. Users are unable to perform any calculations because of this issue, i tried to format the cells but it doesnot work. Please help me.
    Regards,
    Pravs.

    Hi,
    Just do the following in excel before downloading and check whether it works.
    Tools->Options->International tab.
    In that mention decimal separator as ,(comma).
    Thousand separator as .(dot).
    Uncheck use system separators.

  • File Upload in Web Dynpro ABAP not using File Upload UI element

    Hi all ,
    I have searching for a way to upload a file using the file open dialog ( or even by manually specifying the path/file name) without using the file upload UI Element in ABAP web Dynpro . The  File Upload UI element works for smaller files however with large file sizes 64 MB , the system seems to be running of memory (SYSTEM_NO_ROLL) . This is due to a known fact that the UI element makes a duplicate copy of the whole copy while it does the upload.
    I have been looking at the ACFUPDOWNLOAD as a way to solve this problem but cannot seem to figure out how it works , even the sample program  provided  by SAP does not work. I am working with a regular abap server and not kpro( knowledge mananagement provider)  or portal .
    Any help would be greatly appreciated.
    thanks,
    Ali.

    If you are on NetWeaver 7.01, you can try both the ACFUpDownload UI element or try creating your own FileUpload in Adobe Flex with Flash Islands.  ACFUpDownload requires the KPRO by default (which is why the same application isn't working for you), but you can write your own handler class to act as the KPRO receiver.  Here is an eLearning on the topic:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/109b9b52-bc00-2c10-8786-e4c5e96d7e04
    and source code:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70645070-bb00-2c10-f086-f126721acdb4
    If you want an eLearning on the FlashIslands approach, you can find it here as well:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/50d42644-91ef-2b10-228c-9e0ae75b274e
    and Source Code:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f044b62c-90ef-2b10-64a6-9ec25294d133
    However in both of these approaches you still have to be careful with how you handle large files.  The problem is that they are processed often a single binary string.  This makes the processing easy, but requires total amount of session memory at least as large as the file being uploaded.  In NetWeaver 7.02 ABAP adds the concept of Streams and Locators to help with the partial processing of large files.  This feature doesn't come until later this year, but if you are interested you can learn about it here:
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/80f983df-213e-2c10-ba89-b5a12ef178e8

  • Excel Ole2 in Web Dynpro Abap

    Hi all,
    I want to use Ole2 object in my web dynpro. But i doesn't works.
    I think that i need to use [OfficeControl|http://help.sap.com/saphelp_nw70ehp1/helpdata/en/d1/af8841349e1909e10000000a155106/frameset.htm].
    I know how to use OLE2, but I don't know how to begin with this...
    Do you know any manual or you can give an example to use?
    I want to create an excel cell by cell by code.
    Thanks in advance.

    Finally i use an iview for call a transaction to do it...

  • Mass upload through Web Dynpro application possible?

    We want to develop a custom aplication with Web Dynpro ABAP for master data maintenance. About 90 % will be done manually but we also want to have the possibility to do mass uploads (comparable with LSMW's in SAP R3 for win gui transactions: users send us a spreadsheet and we load it for them using a LSMW). I found one option by building Adobe Interactive form offline scenario using xml messages but I don't want to be forced to use Adobe only to enable mass uploads that will only happen in 10 % of the cases.
    I am loking forward to your suggestions!
    kind regards
    Angelique Heutinck

    I got a very useful answer from Thomas Jung (SAP) via a site he did setup with a couple of other SAP experts, also see http://enterprisegeeks.com/blog/2009/03/31/abap-freak-show-april-1st-acf-updownload-in-web-dynpro-abap/comment-page-1/
    My question:
    I think this new UI element ACFUpDownload cannot be used to do mass uploads/updates of data that need to be stored in SAP tables?
    Answer Thomas:
    This UI element is just about the transfer of data from the client machine to the server. It has nothing to do with how the data is used or processed after upload. Think of it as the equal to the CL_GUI_FRONTEND_SERVICES class and methods GUI_UPLOAD and GUI_DOWNLOAD.
    My question:
    Is there a tool like LSMW, CATT, eCATT that we can use for recording webenabled transactions (applications developed in Web Dynpro ABAP)?
    Answer Thomas:
    You shouldnu2019t need a tool like LSMW, CATT, eCATT that is tied to the user interface. With WDA you should be using MVC to design your application. This is part of the reason for MVC so that you have a clear separation of the model - business logic. You should always have a reusable class that can be called to input and create data with the same validations without going through the user interface. This is the process that SAP is following as we create new WDA screens. We use the enterprise services and their implementation classes as the Model for the WD Components. This ensures that you always have a clear API to use to mass import data.
    Although we wouldnu2019t recommend doing any kind of mass data load via the user interface any longer - eCATT will be supported for automated testing of Web Dynpro ABAP applications as of NetWeaver 7.0 Enhancement Package 2.

  • File Upload in Web Dynpro

    Hi all,
    I need to upload file from user local computer into Web Dynpro context, but standard FileUpload component doesn't look very "attractive" to me. There are 3 main reasons:
    1. when user don't use Browse functionality, but he/she types directly for example == "xxxx" (not valid absolute windows path) into input field of FU Component and then click Upload, application freeze - and loading that 'file' forever.....
    2. don't know how to specify custom file types in showed FileChooser  (predefined are AllFiles, Pictures, HTML)
    3. Browse label is not internationalized, no possibility to change that text (and that button also looks "different" )
    How can I eliminate these minuses, or is here alternative solution for file uploading file in WD? My customer environment is NW 2004.
    Regards,
    Juraj

    Dynpro UI elements has limitations. But we can use them the way we want within these limitations.
    1. when user don't use Browse functionality, but he/she types directly for example == "xxxx" (not valid absolute windows path) into input field of FU Component and then click Upload, application freeze - and loading that 'file' forever.....
    If there is a fixed place to hold the documents, we can prefix the path upto the filename.
    2. don't know how to specify custom file types in showed FileChooser (predefined are AllFiles, Pictures, HTML)
    we can get the MIME type from the resource. And further processing can be restricted.
    3. Browse label is not internationalized, no possibility to change that text (and that button also looks "different" )
    I Agree that we can't change "Browse", but still we can have the orientation, if your browser is Arabic, it got aligned at right hand side.
    thread:
    nikhil
    Edited by: Nikhil ßos on Jul 3, 2008 1:07 PM

  • Download/Upload of Web Dynpro Components

    Hi everyone,
    Does anybody know if there is a way to dowload the web dynpro components from a SAP system and upload into a diferent one, like smartforms and dynpro screens do?
    Thanks in advance,
    Raphael Xavier

    Hi Raphael,
    This feature is not currently in the standard system. However there is a beta version of a plugin for exporting and importing Web Dynpro ABAP components.You would have to use the SAPLink program (ZSAPLINK) to export and import objects. Please go through this link to download the necessary stuff.
    [http://code.google.com/p/saplink/|http://code.google.com/p/saplink/]
    For any problems while uploading these nuggets into SAP you can post your queries [here|www.saplink.org].  Also refer to Thomas Jung's comments in [here|How to install the SAPlink plugins;.
    Regards,
    Uday

Maybe you are looking for