Procedure/batch file to export data from sql to excel(predefined path)

Hi,
I have countries, sites, states tables (total 3) in database (i have user id and password to connect to this database).
every week i need to extract data from these tables into excel files and i need to save those in shared drive for team use.
Currently i am connecting to database every time running sql query and manually exporting that latest data to excel and saving that as excel files in (G:\team\common\) folder with specific name.
output format should be : excel (.xls)
file names should - countries.xls,sites.xls,states.xls
server name : ap21
output location : G:\team\common\ ( G is shared drive).
i heard that we could create batch file to do this task and also we could use oracle procedure to do this task. but not sure which one is the best option.
could you please guide me what is the option and also help me with technical stuff to do this task.

Hello,
output format should be : excel (.xls)Do you really want to create .xls files? This is not easy to do because it is a proprietary (MS) binary format. You should consider other formats like .csv or .xlsx. Follow the link in the previous answer how to generate them.
file names should ...The name of the files does not matter, you are free to name them as you like.
server name : ap21
output location : G:\team\common\ ( G is shared drive).You can write the file generated in the database only to directories that are accessible from the db as Oracle Directories. You could mount the shared drive to the db server, but it might be better to write the output to a server directory and then transfer them to the shared drive with OS-copy command or FTP.
i heard that we could create batch file to do this task and also we could use oracle procedure to do this task. but not sure which one is the best option.I would use Oracle Scheduler to execute a PL/SQL procedure to generate the files and then a OS-batch file to transfer them. You can use the Scheduler to execute the batch file too, see {message:id=3895983}.
Regards
Marcus

Similar Messages

  • Issue to export data from sql to excel

    I have MS SQL 2008 Developer version and visual studio 2008. I'm using SSIS Import and Export Wizard on the VS2008 to create a simple package to export data from a table using a sql query to excel file (.xlsx), but I got the following
    error messages:
    [Destination - Query [37]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E21.
    [Destination - Query [37]] Error: Cannot create an OLE DB accessor. Verify that the column metadata is valid.
    [SSIS.Pipeline] Error: component "Destination - Query" (37) failed the pre-execute phase and returned error code 0xC0202025.
    The SQL query is
    SELECT [BusinessEntityID]
          ,[PersonType]
          ,[NameStyle]
          ,[Title]
          ,[FirstName]
          ,[MiddleName]
          ,[LastName]
      FROM [AdventureWorks2008].[Person].[Person]
    Any help will be appreciated. Thanks.
    A Fan of SSIS, SSRS and SSAS

    Or another way is to save the package created by Export Import wizard, open it in BIDS and add a Derived column task before the Excel destination to do explicit casting of the columns to your required unicode datatypes.
    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Error while exporting data from sql server to excel

    Hi,
    I am trying to export data from sql server to excel.
    The query that I used is s follows
    INSERT INTO OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Folder1\abc.xls','select * from [Sheet1$A1:IV65000]')
    select 
    column1,column2.... from Table1
    I get the following error message while doing so..
    String or binary data would be truncated.
    The statement has been terminated.
    One of the column's holds data more than 225 characters.
    What is the way to correct this, i want the whole data of the colum in the excel sheet.

    I haven't had great luck with the INSERT INTO OPENROWSET method.  Can you try one of the many samples from one of these 3 links?
    http://www.excel-sql-server.com/excel-sql-server-import-export-using-vba.htm#Excel%20Data%20Export%20to%20SQL%20Server%20Test%20Code 
    http://www.mssqltips.com/sqlservertip/1540/insert-update-or-delete-data-in-sql-server-from-excel/
    https://www.simple-talk.com/sql/database-administration/getting-data-between-excel-and-sql-server-using-odbc--/
    Knowledge is the only thing that I can give you, and still retain, and we are both better off for it.

  • Export data from forms to excel

    HI
    In my application im trying to export data from forms to excel.Everything works fine.First of all im using get_file_name for selecttion of file and passing it to ole2 package as follows
    FILENAME := GET_FILE_NAME(File_Filter=> 'XLS Files (*.xls)|*.xls|',dialog_type=>SAVE_FILE);
         ARGS:=OLE2.CREATE_ARGLIST;
         oLE2.ADD_ARG(ARGS,Filename);
         OLE2.INVOKE(WORKSHEET,'SAVEAS',ARGS);
    The problem is if i select an existing file the get_file_name itself raises one message ".....file already exists Replace an existing file?"
    Similarly the excel also also raises the same message "".....file already exists Replace an existing file?".I want to suppress atleast one of them? Could anyone help for this problem?
    appreciate ur help
    THANKS

    Looks like...
    ole2.set_property( ex_app, 'DisplayAlerts', false );
    where "ex_app" variable Excel Application -
         ex_app:=     ole2.create_obj('Excel.Application');
    and more Question:
    When i close excel app - in process viewer i see "excel.exe"
    ole2.release_obj don't work :(

  • Exporting Data from Essbase to Excel

    Hi All,
    We are using classic planning application developed in Hyperion 11.1.2.2.
    Is there any way that we can export data from Essbase to Excel (Please note that i don't want to do it on server machine where essbase is installed, instead i want it on any client PC which is accessing Essbase)

    there are many ways you can do that, Through Excel Add-in,SmartView functions etc different.
    It depends on the requirement , if you mean to say who Essbase Data then someone else should be able to answer this.
    Thanks
    Amith

  • Exporting data from SQL Server database to Oracle database

    Hello All,
    We need to replicate a table's data of SQL Server database to Oracle database.
    Can this task be accomplished using Import/Export wizard or Linked servers?
    Can help me regarding which Oracle data access components should i download to do this?
    I am using SQL Server 2012.
    And i have Oracle 11g release 2 client installed in my system.
    Thanks in Advance.
    Thanks and Regards, Readers please vote for my posts if the questions i asked are helpful.

    Yes you can definitely transfer data from SQL server to Oracle Have a look at below links
    Export SQL server data to Oracle Using SSIS
    Use OLEDB data provider to transfer data from SQL server to Oracle
    Using Import Export Wizard
    Similar thread
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Export data from block to excel.

    Hi
    Does anybody know how I can export data from oracle forms to an excel worksheet. I need to provide a direct interface for a user where he fetches the data into the block and by just click a button the data from the block should go to an excel sheet.
    Thanks in advance
    -Samsam

    Something along the following lines should help you in you are Client/Server. If you're on the Web then make sure you have WebUtil set up and add "CLIENT_" to all the OLE2 calls.
    PROCEDURE P_EXCEL IS
         application ole2.Obj_Type;
         workbooks ole2.Obj_Type;
         workbook ole2.Obj_Type;
         worksheets ole2.Obj_Type;
         worksheet ole2.Obj_Type;
         args ole2.List_Type;
         cell ole2.Obj_Type;
         j INTEGER;
         k INTEGER;
         file_name_cl VARCHAR2(32767);
         item_prompt VARCHAR2(32767);
    user_cancel EXCEPTION;
    BEGIN
    -- open the java save file dialogue box
    file_name_cl := GET_FILE_NAME('H:\', 'file_name.xls', 'XLS Files (*.xls)|*.xls|', NULL, SAVE_FILE, TRUE);
    file_name_cl := SUBSTR(file_name_cl,1,LENGTH(file_name_cl));
    IF file_name_cl IS NULL THEN
    RAISE user_cancel;
    END IF;
    application := ole2.create_obj('Excel.Application');
    workbooks := ole2.Get_Obj_Property(application, 'Workbooks');
    workbook := ole2.Invoke_Obj(workbooks, 'Add');
    worksheets := ole2.Get_Obj_Property(workbook, 'Worksheets');
    worksheet := ole2.Invoke_Obj(worksheets, 'Add');
    go_block('EXPORT_BLOCK');
    first_record;
    j:=1; /* Represents row number */
    k:=1; /* Represemts column number */
    /* Add the column headings using item prompts */
         FOR k IN 1..10 /* Block has 10 visible columns */
    LOOP
    item_prompt := get_item_property(:SYSTEM.CURRENT_BLOCK||'.'||:SYSTEM.CURRENT_ITEM, prompt_text);
    args:=ole2.create_arglist;
    ole2.add_arg(args, j);
    ole2.add_arg(args, k);
    cell:=ole2.get_obj_property(worksheet, 'Cells', args);
    ole2.destroy_arglist(args);
    ole2.set_property(cell, 'Value', item_prompt);
    ole2.release_obj(cell);
    next_item;
    END LOOP;
    j:=j+1; /* Add to rowcount so that data won't overwrite column headings! */
    LOOP
    /* Add in all the data */
    FOR k IN 1..10 /* Block has 10 visible columns */
    LOOP
    IF NOT name_in(:system.cursor_item) IS NULL THEN
    args:=ole2.create_arglist;
    ole2.add_arg(args, j);
    ole2.add_arg(args, k);
    cell:=ole2.get_obj_property(worksheet, 'Cells', args);
    ole2.destroy_arglist(args);
    ole2.set_property(cell, 'Value', name_in(:system.cursor_item));
    ole2.release_obj(cell);
    END IF;
    next_item;
    END LOOP;
    j:=j+1;
    IF :system.last_record = 'TRUE' THEN
         exit;
    ELSE
         next_record;
    END IF;
    END LOOP;
         ole2.Release_Obj(worksheet);
         ole2.Release_Obj(worksheets);
         /* Save the Excel file created */
         args := ole2.Create_Arglist;
         ole2.Add_Arg(args, file_name_cl);
         ole2.Invoke(workbook, 'SaveAs', args);
         ole2.Destroy_Arglist(args);
         /* release workbook */
         ole2.Release_Obj(workbook);
         ole2.Release_Obj(workbooks);
         /* Release application */
         ole2.Invoke(application, 'Quit');
         ole2.Release_Obj(application);
    EXCEPTION
    WHEN user_cancel THEN
         RAISE;
    END;

  • Exporting Data from Forms to Excel

    Hi,
    How can I export the data from Forms to Excel like which Export function in the Oracle Applications.
    Thank you,
    Voon

    Hello,
    By using dde package you can export the data from Form to Excel. Here is the sample code which i have used. you can write this code in the when_button_pressed trigger.
    declare
    appl_name varchar2(255);
    channel_id pls_integer;
    application_id pls_integer;
    x number;
    y number;
    V_TIME VARCHAR2(30);
    begin
    if :global.application_id is not null then
    message('Application already open');
    else
    appl_name := 'c:\program files\microsoft office\office\excel.exe';
    :global.application_id := dde.app_begin(appl_name,dde.app_mode_normal);
    end if;
    if :global.channel_id is not null then
    message('Communication channel already established.');
    elsif :global.application_id is null then
    message('Application must be launched first.');
    else
    :global.channel_id := dde.initiate('excel','book1');
    end if;
    DDE.POKE(:global.channel_id,'R1C1','Col1 Heading',DDE.CF_TEXT,1000);
    DDE.POKE(:global.channel_id,'R1C2','Col2 Heading',DDE.CF_TEXT,1000);
    DDE.POKE(:global.channel_id,'R1C3','Col3 Heading',DDE.CF_TEXT,1000);
    FIRST_RECORD;
    X := No of Records;
    for y in 2..x
    loop
    launch_excel is a program unit--
    launch_excel(y,:global.channel_id,:block.item1,:block.item2,::block.item3);
    next_record;
    end loop;
    FIRST_RECORD;
    EXCEPTION
    WHEN DDE.DDE_APP_FAILURE THEN
    MESSAGE('Could not launch application for DDE operations.');
    RAISE FORM_TRIGGER_FAILURE;
    WHEN DDE.DDE_INIT_FAILED THEN
    MESSAGE('Could not initialize DDE communication channel.');
    RAISE FORM_TRIGGER_FAILURE;
    WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
    MESSAGE('Could not establish DDE communication channel.');
    RAISE FORM_TRIGGER_FAILURE;
    WHEN OTHERS THEN
    MESSAGE('Error: '| |TO_CHAR(SQLCODE)| |' '| |SQLERRM);
    RAISE FORM_TRIGGER_FAILURE;
    END;
    LAUNCH_EXCEL
    PROCEDURE LAUNCH_EXCEL(
    y in number,
    channel_id pls_integer,
    param1 varchar2,
    param2 VARCHAR2,
    param3 varchar2) IS
    v_rowno varchar2(20) := 'R'| |y;
    BEGIN
    dde.poke(channel_id,v_rowno| |'C1',col1,dde.cf_text,2000);
    dde.poke(channel_id,v_rowno| |'C2',col2,dde.cf_text,2000);
    dde.poke(channel_id,v_rowno| |'C3',col3,dde.cf_text,2000);
    EXCEPTION
    when others then
    message('Error --'| |sqlcode| |sqlerrm);
    message('Error --'| |sqlcode| |sqlerrm);
    raise form_trigger_failure;
    END;
    null

  • To fatch the data from sql to excel ??? any idea....

    dear all,
    my problem is - i want to retrive the data from sql server to excel sheet... can any one suggest the idea what to do ???
    thanks.

    You can open two connections. One to SQL Server (you can use a thin or JDBC-ODBC bridge), the other to your Excel spreadsheet using the JDBC-ODBC bridge. You could query the SQL Server database, massage and format your data, then write it to Excel. Excel works with a very limited set of SQL. Here is a program from a post by Tim Vickers that others sounded happy to have. I'm reposting here for your convenience. I have not personally run this program, so please use it at your own risk.
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import java.text.*;
    * Name: Excel.java
    * Purpose: To demonstrate how to use ODBC and Excel to create
    * a table,
    * insert data into it, and select it back out.
    * Version: Developed using JDK 1.3, but also works with JDK
    * 1.2.2
    * Instructions:
    * 1) Create a new Excel spreadsheet
    * 2) Create a new ODBC data source that points to this
    * spreadsheet
    * a) Go to Control Panel
    * b) Open "ODBC Data sources (32-bit) (wording may be
    * slightly
    * different for different platforms)
    * c) Under "User DSN" tab, press "Add" button
    * d) Select the "Microsoft Excel Driver (*.xls)" and
    * press
    * "Finish" button
    * e) Enter "Data Source Name" of "TestExcel"
    * f) Press "Select Workbook" button
    * g) Locate and select the spreadsheet you created in
    * Step 1
    * h) Unselect the "Read Only" checkbox
    * i) Press "Ok" button
    * 3) Compile and run Excel.java
    * 4) Open Excel spreadsheet and you will find a newly
    * created
    * sheet, GOOD_DAY, with three rows of data.
    * Notes:
    * If you want to select data from a spreadsheet that was
    * NOT
    * created via JDBC-ODBC (i.e. you entered data manually
    * into
    * a spreadsheet and want to select it out), you must
    * reference
    * the sheet name as "[sheetname$]".
    * When you create the table and insert the data using
    * Java, you
    * must reference the sheet name as "sheetname".
    * Also, do not have the spreadsheet open when you are
    * running
    * the program. You can get locking conflicts.
    public class Excel {
        public Excel() {
            setDefaults();
        private static void m(String pMessage) {
            System.out.println(pMessage);
        private void setDefaults() {
            setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
            setUrl("jdbc:odbc");
            // ODBC data source named "TestExcel" defined from
            Control Panel
            setDataSource("TestExcel");
            setTableName("GOOD_DAY");
        public void openDatabase() {
            String lConnectStr = getUrl()+":"+getDataSource();
            try {
                Class.forName(getDriver());
                gConnection = DriverManager.getConnection(lConnectStr);
            catch (Exception e) {
                m("openDatabase(): "+e.getMessage());
        private void closeDatabase() {
            try {
                getConnection().close();
            catch (Exception e) {
                m("closeDatabase(): "+e.getMessage());
        private void createTable() {
            m("createTable() begin");
            Statement lStat = null;
            try {
                lStat = getConnection().createStatement();
                lStat.execute("CREATE TABLE "+getTableName()+" ("
                +" ID INTEGER"
                +" ,NAME VARCHAR"
                +")");
            catch (Exception e) {
                m("createTable(): "+e.getMessage());
            m("createTable() end");
        private void doInsert() {
            m("doInsert() begin");
            Statement lStat = null;
            try {
                lStat = getConnection().createStatement();
                lStat.executeUpdate("INSERT INTO "
                +getTableName()+"(ID,NAME) VALUES
                (10,'KANGAROO')");
                lStat.executeUpdate("INSERT INTO "
                +getTableName()+"(ID,NAME) VALUES (20,'KOALA')");
                lStat.executeUpdate("INSERT INTO "
                +getTableName()+"(ID,NAME) VALUES (30,'PAUL
                HOGAN')");
                lStat.close();
            catch (Exception e) {
                m("doInsert(): "+e.getMessage());
            m("doInsert() end");
        private void doQuery() {
            m("doQuery() begin");
            try {
                Statement lStat = getConnection().createStatement();
                ResultSet lRes = lStat.executeQuery(
                "SELECT * FROM "+getTableName()
                ResultSetMetaData lMeta = lRes.getMetaData();
                // print out the column headers separated by commas
                for (int i = 1; i <= lMeta.getColumnCount(); ++i) {
                    if (i > 1)
                        System.out.print(", ");
                    String lValue = lMeta.getColumnName(i);
                    System.out.print(lValue);
                System.out.println("");
                // print out the data separated by commas
                while (lRes.next()) {
                    for (int i=1; i<=lMeta.getColumnCount(); ++i) {
                        if (i > 1)
                            System.out.print(", ");
                        String lValue = lRes.getString(i);
                        System.out.print(lValue);
                    System.out.println("");
                lRes.close();
                lStat.close();
            catch (Exception e) {
                m("doQuery(): "+e.getMessage());
            m("doQuery() end");
        private void run() {
            openDatabase();
            createTable();
            doInsert();
            doQuery();
            closeDatabase();
        public static void main(String args[]) {
            m("main() begin");
            Excel lExcel = new Excel();
            lExcel.run();
            m("main() end");
            System.exit(0);
        public void setTableName(String pValue) {
            gTableName = pValue;
        public String getTableName() {
            return(gTableName);
        public void setSql(String pValue) {
            gSql = pValue;
        public String getSql() {
            return(gSql);
        public Connection getConnection() {
            return(gConnection);
        public String getDataSource() {
            return(gDataSource);
        public void setDataSource(String pValue) {
            gDataSource = pValue;
        public void setDriver(String pValue) {
            gDriver = pValue;
        public void setUrl(String pValue) {
            gUrl = pValue;
        public String getDriver() {
            return (gDriver);
        public String getUrl() {
            return (gUrl);
        private Connection
        gConnection = null
        private String
        gDataSource = null
        ,gTableName = null
        ,gSql = null
        ,gDriver = null
        ,gUrl = null
    }

  • Export data from MSA to Excel?

    Can we export daat from MSA to Excel? When we search for the business partners, is there a way to download the results to excel?
    Thanks!

    Hi,
    Yes you can bring the data to Excel. One you a Business Partner Search,the results flow down to the list tile.
    1)Select one of the grid rows and Right Click on where the Arrow points.
    2) A small drop down comes up.choose the option "Generate Report".
    3) This opens up the"InstantReport" screen. Choose "MicrosoftExcel" in the Instant Report To Combo.
    4)Select the grid columns that you want and add them using the buttons present there.
    5)Then click on the button "Generate".
    6)The data flows down to an Excel sheet.
    Regards,
    Abishek

  • BI 4.0 sp 6 service name to export data from webi to excel

    Hi there,
    I'm using BI 4.0 SP6 and I was just curious to find out which servers/services are invoked while exporting data from WebI report to Excel?
    Thanks in advance.
    Regards,
    samique

    Check below section in the Admin guide for this information.
    Architecture\Process Workflows

  • How to export data from report to excel using report 10g

    Hi,
    usnig report 10g, can we export the data from report to excel.
    Regards
    Randhir

    Hi,
    have a look at metalink note 209770.1: Getting Reports Ouput to MS Excel - Techniques and References
    Regards
    Rainer

  • SSIS to Export data from SQL to flat file dynamically

    Hi.
    I hope somebody can help me out, I have a table like this:
    Date, StoreNumber, ProductCode, SalesItem, SalesAmout, Inventory
    09-10-2014,10,1,10,10,30
    As you can see I have a Date field and my table has information from 2014 at daily basis, What I'm trying to do is to export the information of this table to flat files, creating one file pear each date, as a result I will have about 280 files (one per date)
    I do not know if it is possible or not.
    Thank you.

    Hi Mike,
    you can do it using one Execute SQL Task and a ForEach Loop variable driven.
    1st the Execute SQL Task "figures out" how many iterations the loop would need. The SQL as follows would drive it:
    SELECT DISTINCT [DATE] FROM MyTable;
    and you get the dates placed into a package variable of type recordset for the [280] files.
    And then you can operate on the recordset in the loop "shredding it" in a DFT with a source query dynamically driven by the date as "select a,b,c from mytable where date = '" + @[User::CurentDate] + "'" placing each
    "date" into its own file even naming the file after the date using the current value of the package variable (ADO row concept).
    See an example: http://www.sqlis.com/sqlis/post/Shredding-a-Recordset.aspx
    Arthur My Blog

  • Create file for export data from Essbase

    I wish to create dynamically CalcScript for an unloading of the data from Essbase.
    For this purpose I have created variables for each measurement.
    How to create procedure for generate a file with my variables?
    Thanks.

    Hi,
    There are a number of ways of doing this, you could use the odiOutFile tool and write your script into the text, replacing parts of the text with your ODI variables.
    Or you can hold the script in say a db table or file and then create an interface to write a file, it should replace the variable text with your ODI variables if you declare them in a package.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Exporting data from table to Excel in a particular format using BSP.

    Hello all,
          I am creating a application in BSP  wherein i have to export data to excel sheet.
      I am able to do that but the output in excel sheet is not formatted. it is displaying the data in a single 
    column. For example, the internal table which i am exporting to excel contains fields "product
    name", "area name", country name", "values". all these should be displayed in different columns.How 
    can i achieve this functionality.A sample code will be of great help..
    Below is the code i hav written for exporting to excel :
         data: l_len type i,
               l_string type string,
               app_type type string,
               file_content type xstring,
               file_mime_type type string.
         create OBJECT cached_response TYPE cl_http_response EXPORTING add_c_msg = 1.
         cached_response->set_data( file_content ).
         cached_response->set_header_field(
                          name = if_http_header_fields=>content_type
                          value = file_mime_type ).
    LOOP AT itab_xls INTO wa_xls.
       CONCATENATE L_STRING wa_xls-product_name
       wa_xls-area_name
       wa_xls-landx
       CL_ABAP_CHAR_UTILITIES=>CR_LF INTO L_STRING SEPARATED BY SPACE.
    ENDLOOP.
      APP_TYPE = 'APPLICATION/MSEXCEL; charset=utf-16le'.
      data: l_xstring type xstring.
    call function 'SCMS_STRING_TO_XSTRING'
        exporting
          text = l_string
          MIMETYPE = 'APPLICATION/MSEXCEL; charset=utf-16le'
        IMPORTING
          BUFFER = l_xstring.
    Add the Byte Order Mark - UTF-16 Little Endian
      concatenate  cl_abap_char_utilities=>byte_order_mark_little
                   l_xstring
                   into l_xstring in byte mode.
       cached_response->set_data( l_xstring ).
       cached_response->set_header_field( name  = if_http_header_fields=>content_type
                                         value = 'APPLICATION/MSEXCEL; charset=utf-16le' ).
    *Set the filename into the response header
       cached_response->set_header_field( name  = 'Content-Disposition'
                                  value = 'attachment; filename=gkb_excel.xls' ).
    *Set the Response Status
       cached_response->set_status( code = 200 reason = 'OK' ).
    *Set the Cache Timeout - 60 seconds - we only need this in the cache
    *long enough to build the page and allow the IFrame on the Client to request it.
       cached_response->server_cache_expire_rel( expires_rel = 60 ).
        CALL FUNCTION 'GUID_CREATE'
        IMPORTING
          ev_guid_32 = guid.
        CONCATENATE runtime->application_url '/' guid '.xls' INTO url.
        cl_http_server=>server_cache_upload( url      = url
                                           response = cached_response ).
    Can anyone help me with some solution.
    Thanks in advance.
    Gurmahima.

    the issue is here
    LOOP AT itab_xls INTO wa_xls.
    CONCATENATE L_STRING wa_xls-product_name
    wa_xls-area_name
    wa_xls-landx
    CL_ABAP_CHAR_UTILITIES=>CR_LF INTO L_STRING SEPARATED BY SPACE.
    ENDLOOP.
    instead do the following
    LOOP AT itab_xls INTO wa_xls.
    CONCATENATE L_STRING wa_xls-product_name ','
    wa_xls-area_name  ','
    wa_xls-landx  ','
    CL_ABAP_CHAR_UTILITIES=>CR_LF INTO L_STRING .
    ENDLOOP.
    and then change the file name extension from xls to csv. it should open properly in excel.
    Note that this is only excel csv file. if you want a proper excel excel file, then
    option one: build a html table with your data into a string and pass it to excel
    option 2: build excel xml using your data into a string and pass it to excel.
    Regards
    Raja

Maybe you are looking for

  • Can i delete the contact information in icloude?

    Could i have deleted my contact information in icloude?

  • Issue installing a SSL certificate on WLC

    I have a certificate obtained from verisign for logging in a wireless campus network, and I'm installing it via TFTP to the WLC. At the end of the transference appear the next message "TFTP WPS Signature file transfer starting. TFTP receive complete.

  • Change keyboard on a MacBook Pro

    Hi there I currently live in Hong Kong and I'm thinking about buying a MacBook Pro here. Someday I will move back to Switzerland and I was wondering if it's possible to change the keyboard on a MacBook Pro so that I can write german umlaute with it a

  • Computer won't accept my password

    After upgrading from 10.4.8 to 10.4.9 to 10.4.10, my computer is now not recognizing the password that I have been using on the computer since I owned it. Is it possible that the password reset itself to some factory one or changed to something else

  • Having trouble recovering music files from data cd

    Over a month ago my computer crashed, possibly due to me trying to update my ipod to Version 1.1. Unforunately a lot of my programs weren't working after that, including Itunes, but I still have my music files which I could not listen to so I decided