Hiding Rows in an Excel Worksheet programmatically through automation.

Need to hide all the rows till the end that dont have any data in an excel worksheet. Please sugest how should I do it .

Hello,
Do you mean that you just want to display the data that exists in the database? You might want to make use of the "Used Range" property. Take a look at the attached VI I wrote. It appends data to the end of an existing Excel spreadsheet, but you could easily modify it to use the "Value" property rather than the "Count" to retrieve the values and display them.
I hope this helps! Let me know if you'd like any additional help coding (I know ActiveX can get messy quickly).
Liz Fausak
National Instruments
Attachments:
ExcelAppendToSheet.vi ‏88 KB
NumberToColumnLetter.vi ‏163 KB

Similar Messages

  • Excel 2013 installed through 365 crashes when small row is in spreadsheet

    Hi,
    I have major issue with Excel files that makes Excel stop working when trying to print.
    Excel crashes already at the preview pane and it has nothing todo with print driver, it crashes if using the XPS driver as well.
    Using Excel installed locally through 365 (All patches applied)
    By searching for formatting error in the spread sheet I found out that there were a couple of rows that had very small height and removing those (or increasing them) made Excel not crashing when trying to print.
    This excel file is actually working on other installations of Exel 2013 but it seemes to only cause problems on the Excel 2013 installed through 365.
    When I found the problem and that it seemes only to be on the 365 Excel I also found another user with same problem but no solution. (community.office365.com/en-us/forums/172/t/168863.aspx)
    In my case I have several hundred Excel files and most of them are password protected which makes it impossible to fix the rows manually.
    It is not a problem on traditional installed Excel 2013 or earlier versions... So I would say it is a bug with the 365 version of Excel.
    Anyone out there with a solution or how to report this to Microsoft?

    I would escalate the issue and someone who is more familiar with this kind of issue to deal with this problem.
    Thank you for your feedback.
    Tony Chen
    TechNet Community Support

  • How do I print an excel worksheet so the rows have contrasting shades making it easy to read data across the page?

    I want to print an excel worksheet so that the rows are shaded light then dark, light then dark. This helps when reading the data across the page on any selected line. Where do I select that option?

    sophia beth wrote:
    I want to print an excel worksheet so that the rows are shaded light then dark, light then dark. This helps when reading the data across the page on any selected line. Where do I select that option?
    Not sure if it's any better in the version you have, but in earlier versions, you would have to manually select alternating rows using cmd-click in the row numbers and then fill the cells with the lightest possible shade in the fill palette.  Again, in an earlier version, it is possible to use the format painter (use your Excel help for details) to select several rows formatted with the shading and paint that format to an equivalent number of rows elsewhere.

  • Any method of ole2 to count the no. of rows in excel worksheet ??

    Dear all,
    want to generate a for 1..n loop structure to access the excel worksheet.
    iam using ole2 to upload data from excel to oracle.
    rest is fine..
    till now iam arbitrarily inputting a value as a count from forms to run the loop.
    want to know is there any method of ole2 to count the no. of rows in excel worksheet...???
    regards,

    If you have purchase order number in your cube then you can use the easiest method of all of counting -- a calculated key figure with exception aggregation.
    Create a CKF and add any basic key figure to it from your cube (basic means a key figure from the cube, not another CKF or RKF).  If you're using the 3.x query designer then click the Enhance button and set the exception aggregation to Counting All Values.  If you're using the 7.0 query designer then click on the Aggregation tab and switch the Exception Aggregation to Counter for All Detailed Values.  With either query designer set the reference characteristic to your PO number characteristic.  This CKF will count the number of PO documents.
    See this document for step-by-step instructions:  [How to... count the occurrences of a characteristic relative to one or more other characteristics|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7e58e690-0201-0010-fd85-a2f29a41c7af].

  • Map Excel worksheet into Oracle tables repository

    I am new to VB2005. I am working on VB code that can map(read) any table from excel worksheet and load it into Oracle table. Oracle table that I have are: 1)META_OBJECTTYPES(OBJECTTYPEID pk,OBJECTTYPENAME,OBJECTTYPEDESC, OBJECTMETATYPE,OBJECTDOMAIN).
    2) META_OBJECTS(OBJECTKEY PK,OBJECTTYPEID FK,OBJECTNAME,OBJECTDESC).
    3)META_OBJECTDEPENDENCIES(SRCOBJECTKEY FK, TGTOBJECTKEY FK,DEPENDENCYTYPE PK)
    4)META_OBJECTATTRIBUTES((OBJECTKEY FK, OBJECTATTRNAME PK,OBJECTATTRVALUE). NOTICE META_OBJECTTYPES IS PARENT TO META_OBJECTS AND META_OBJECTS IS PARENT TO (META_OBJECTDEPENDENCIES AND META_OBJECTATTRIBUTES) AND ALL PARENT HAS 1 TO MANY REALTIONSHIP TO CHILD TABLES. For example I have employee table in Excel worksheet that has two columns employee_id number, employee_name varchar2(50) I need my vb code map table name employee with its 2 columns into my 4 tables that I have in Oracle repository,
    My code so far just insert values into oracle tables in repository, but what is require is mapping table with contents into oracle tables.
    Imports System
    Imports System.Data ' VB.NET
    Imports Oracle.DataAccess.Client ' ODP.NET Oracle data provider
    Imports Excel = Microsoft.Office.Interop.Excel
    Public Class Form1
    'System.Data.OracleClient lets you access Oracle databases.
    Public con As System.Data.OracleClient.OracleConnection = New System.Data.OracleClient.OracleConnection() 'Oracle.DataAccess.Client.OracleConnection()
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim xlApp As Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    Dim range As Excel.Range
    Dim rCnt As Integer
    Dim cCnt As Integer
    Dim Obj As Object
    xlApp = New Excel.ApplicationClass
    xlApp.Visible = True
    xlWorkBook = xlApp.Workbooks.Open("c:\employee.xls")
    xlWorkSheet = xlWorkBook.Worksheets("sheet1")
    range = xlWorkSheet.UsedRange
    For rCnt = 2 To range.Rows.Count
    For cCnt = 1 To range.Columns.Count
    Obj = CType(range.Cells(rCnt, cCnt), Excel.Range)
    MsgBox(Obj.value)
    Next
    Next
    xlWorkBook.Close()
    xlApp.Quit()
    releaseObject(xlApp)
    releaseObject(xlWorkBook)
    releaseObject(xlWorkSheet)
    End Sub
    Private Sub releaseObject(ByVal obj As Object)
    Try
    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
    obj = Nothing
    Catch ex As Exception
    obj = Nothing
    Finally
    GC.Collect()
    End Try
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim daOracle As New OracleDataAdapter
    Dim InsertCommand As New OracleCommand
    daOracle.InsertCommand = New OracleCommand
    '1.Create connection object to Oracle database
    Dim con As OracleConnection = New OracleConnection()
    Try
    '2.Specify connection string
    con.ConnectionString = ("Data Source=dprod;User Id=smughrabi; Password=Sul9966")
    '3. Open the connection through ODP.NET
    con.Open()
    Dim cmd As OracleCommand = New OracleCommand
    cmd.Connection = con
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "insert into meta_objecttypes values (4,'TABLE', 'TABLES','ERstudio','Demo')"
    cmd.ExecuteNonQuery()
    'You have to commit to be inserted into DB
    cmd.CommandText = "commit"
    cmd.ExecuteNonQuery()
    'Catch ex As Exception
    '4.display if any error occurs
    'MsgBox(ex.Message, Microsoft.VisualBasic.MsgBoxStyle.Exclamation, "OraScan")
    Finally
    ' Close and Dispose OracleConnection object
    con.Close()
    con.Dispose()
    End Try
    End Sub
    Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Add.Click
    Dim daOracle As New OracleDataAdapter
    Dim InsertCommand As New OracleCommand
    daOracle.InsertCommand = New OracleCommand
    '1.Create connection object to Oracle database
    Dim con As OracleConnection = New OracleConnection()
    Try
    If TableName.Text = "" Then
    MsgBox("Please enter the tablename", MsgBoxStyle.Exclamation, "OraScan")
    Exit Sub
    End If
    MsgBox(TableName.Text, MsgBoxStyle.Exclamation, "OraScan")
    '2.Specify connection string
    con.ConnectionString = ("Data Source=gema;User Id=dare; Password=rtae")
    '3. Open the connection through ODP.NET
    con.Open()
    Dim cmd As OracleCommand = New OracleCommand
    cmd.Connection = con
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "select * from user_objects where object_name='" + UCase(TableName.Text) + "' and object_type='TABLE'"
    cmd.ExecuteNonQuery()
    'You have to commit to be inserted into DB
    'cmd.CommandText = "commit"
    'cmd.ExecuteNonQuery()
    MsgBox("Command executed successfully", MsgBoxStyle.Exclamation, "OraScan")
    'Catch ex As Exception
    '4.display if any error occurs
    'MsgBox(ex.Message, Microsoft.VisualBasic.MsgBoxStyle.Exclamation, "OraScan")
    Finally
    ' Close and Dispose OracleConnection object
    con.Close()
    con.Dispose()
    End Try
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TableName.TextChanged
    End Sub
    End Class

    Thanks Lyndon, what I need is map any table someone create in Excel worksheet to Oracle repository.For example to map Excel worksheet(employee)table with its 2 columns to oracle table META_OBJECTTYPES(OBJECTTYPEID pk,OBJECTTYPENAME,OBJECTTYPEDESC, OBJECTMETATYPE,OBJECTDOMAIN). In my case I have 2 objecttypes 1)table(employee) and 2nd columns:employee_id,employee_name
    --for inserting table info manually into DB:
    INSERT INTO META_OBJECTS
    (OBJECTKEY, OBJECTTYPEID,OBJECTNAME,OBJECTDESC)
    VALUES
    (META_OBJECTS_SEQ.NEXTVAL,
    4, --TABLE  
    'employee',--notice this is table name from Excel worksheet
    'Table to store employee info')
    --for inserting columns info:
    INSERT INTO META_OBJECTS
    (OBJECTKEY, OBJECTTYPEID,OBJECTNAME,OBJECTDESC)
    VALUES
    (META_OBJECTS_SEQ.NEXTVAL,5,'employee_id or name','employee column')
    notice above I insert manually Excel worksheet employee table with its two cols into oracle meta_objecttypes. What I want is VB to do this I mean if I go to Toad and erase what I insert in meta_objecttypes when I run vb, the program should map table employee with its 2 cols to Toad(DB). I hope it is clear now. Please refer to 1 st post for 3 other tables in DB

  • Map Excel worksheet into Oracle tables in repository

    I am new to VB2005. I am working on VB code that can map(read) any table from excel worksheet and load it into Oracle tables. Oracle tables that I have are: 1)META_OBJECTTYPES
    (OBJECTTYPEID pk,OBJECTTYPENAME,OBJECTTYPEDESC, OBJECTMETATYPE,OBJECTDOMAIN).
    2) META_OBJECTS(OBJECTKEY PK,OBJECTTYPEID FK,OBJECTNAME,OBJECTDESC).
    3)META_OBJECTDEPENDENCIES(SRCOBJECTKEY FK, TGTOBJECTKEY FK,DEPENDENCYTYPE PK)
    4)META_OBJECTATTRIBUTES
    (OBJECTKEY FK, OBJECTATTRNAME PK,OBJECTATTRVALUE).
    NOTICE META_OBJECTTYPES IS PARENT TO META_OBJECTS AND META_OBJECTS IS PARENT TO (META_OBJECTDEPENDENCIES AND META_OBJECTATTRIBUTES) AND ALL PARENT HAS 1 TO MANY REALTIONSHIP TO CHILD TABLES. For example, I have employee table in Excel worksheet that has two columns employee_id number, employee_name varchar2(50) I need my vb code map table name employee with its 2 columns into my 4 tables that I have in Oracle table repository,
    My code so far just insert values into oracle tables in repository, but what is require is mapping table with contents into oracle tables. If my expanation isn't clear plz let me know.
    Imports System
    Imports System.Data
    Imports Oracle.DataAccess.Client '
    Imports Excel = Microsoft.Office.Interop.Excel
    Public Class Form1
    'System.Data.OracleClient lets you access Oracle databases.
    Public con As System.Data.OracleClient.OracleConnection = NewSystem.Data.OracleClient.OracleConnection()
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim xlApp As Excel.Application
    Dim xlWorkBook As Excel.Workbook
    Dim xlWorkSheet As Excel.Worksheet
    Dim range As Excel.Range
    Dim rCnt As Integer
    Dim cCnt As Integer
    Dim Obj As Object
    xlApp = New Excel.ApplicationClass
    xlApp.Visible = True
    xlWorkBook = xlApp.Workbooks.Open("c:\employee.xls")
    xlWorkSheet = xlWorkBook.Worksheets("sheet1")
    range = xlWorkSheet.UsedRange
    For rCnt = 2 To range.Rows.Count 'rows in Excel start from row2
    For cCnt = 1 To range.Columns.Count 'column in Excel start from col1
    Obj = CType(range.Cells(rCnt, cCnt), Excel.Range)
    MsgBox(Obj.value)
    Next
    Next
    xlWorkBook.Close()
    xlApp.Quit()
    releaseObject(xlApp)
    releaseObject(xlWorkBook)
    releaseObject(xlWorkSheet)
    End Sub
    Private Sub releaseObject(ByVal obj As Object)
    Try
    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
    obj = Nothing
    Catch ex As Exception
    obj = Nothing
    Finally
    GC.Collect()
    End Try
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim daOracle As New OracleDataAdapter
    Dim InsertCommand As New OracleCommand
    daOracle.InsertCommand = New OracleCommand
    '1.Create connection object to Oracle database
    Dim con As OracleConnection = New OracleConnection()
    Try
    '2.Specify connection string
    con.ConnectionString = ("Data Source=gema;User Id=dare; Password=rtae")
    '3. Open the connection through ODP.NET
    con.Open()
    Dim cmd As OracleCommand = New OracleCommand
    cmd.Connection = con
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "insert into meta_objecttypes values (4,'TABLE', 'TABLES','ERstudio','Demo')"
    cmd.ExecuteNonQuery()
    'You have to commit to be inserted into DB
    cmd.CommandText = "commit"
    cmd.ExecuteNonQuery()
    Finally
    ' Close and Dispose OracleConnection object
    con.Close()
    con.Dispose()
    End Try
    End Sub
    Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Add.Click
    Dim daOracle As New OracleDataAdapter
    Dim InsertCommand As New OracleCommand
    daOracle.InsertCommand = New OracleCommand
    '1.Create connection object to Oracle database
    Dim con As OracleConnection = New OracleConnection()
    Try
    If TableName.Text = "" Then
    MsgBox("Please enter the tablename", MsgBoxStyle.Exclamation, "OraScan")
    Exit Sub
    End If
    MsgBox(TableName.Text, MsgBoxStyle.Exclamation, "OraScan")
    '2.Specify connection string
    con.ConnectionString = ("Data Source=gema;User Id=dare; Password=rtae")
    '3. Open the connection through ODP.NET
    con.Open()
    Dim cmd As OracleCommand = New OracleCommand
    cmd.Connection = con
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "select * from user_objects where object_name='" + UCase(TableName.Text) + "' and object_type='TABLE'"
    cmd.ExecuteNonQuery()
    'You have to commit to be inserted into DB
    'cmd.CommandText = "commit"
    'cmd.ExecuteNonQuery()
    MsgBox("Command executed successfully", MsgBoxStyle.Exclamation, "OraScan")
    Finally
    ' Close and Dispose OracleConnection object
    con.Close()
    con.Dispose()
    End Try
    End Sub
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TableName.TextChanged
    End Sub
    End Class

    Don't know if this will help you or not, but I have some code that will read from and Excel spreadsheet and put the data into a DataSet (i'm sure something else could be used).
    string connectionString =
    @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\\testRead.xls;Excel 12.0;HDR=YES;IMEX=1";
    DbProviderFactory factory =
    DbProviderFactories.GetFactory("System.Data.OleDb");
    DbDataAdapter adapter = factory.CreateDataAdapter();
    DbCommand selectCommand = factory.CreateCommand();
    selectCommand.CommandText = "SELECT * FROM [dogs$]";
    DbConnection connection = factory.CreateConnection();
    connection.ConnectionString = connectionString;
    selectCommand.Connection = connection;
    adapter.SelectCommand = selectCommand;
    DataSet cities = new DataSet();
    adapter.Fill(cities);
    GridView1.DataSource = cities;
    GridView1.DataBind();
    Your provider might be different; the one above is for Office 2007. The [dogs$] in the selectCommand.commandText is the name of the worksheet in Excel.
    Hope this helps

  • Can i load data type names from Excel worksheet ?

    HI,
    I have like 100+ fields in my excel worksheet. Is there any way to load these in XI while creating data types rather than typing each of them ?
    thks

    hi, you cannot get de DT, but you can get the MT developing a SAP module and call it from file sender adaptse.
    see this blog that will hekp you to understand better.
    i develope my own read xls file module as generic. it return
    <ROW>
    .....<col1>
    ....<col2>
    <ROW>
    /people/sap.user72/blog/2005/07/04/read-excel-instead-of-xml-through-fileadapter
    thanks
    rodrigo

  • How to create a New Excel File programmatically

    Hi !
    I am documenting acquired data continuously in an excel file, what I need to do is to create a new excel file automatically when the size of the previous file exceeds a certain limit lets say 1MB.
    I have tried using the simple 'Create/Open File' function and the 'Write to Spreadsheet File' function to create the new excel file. I does create a file but when I open the file it says the format of the file is not what you have opened it with.
    Also when the new file is created, three new worksheet are to be added programmatically with pre-defined worksheet name and also Column headers for each of the worksheet are to be added.
    I am also using 'Labview Report Generation Toolkit for Office'.
    Regards,
    Reeves
    Solved!
    Go to Solution.

    @ Aldo A
    Thanks for the reference to tutorial, I didn't know about them. They are useful in general but unfortunately they don't answer the problem of creating an altogether new excel file programmatically.
    @ ben64
    The template thing simplifies the issue of formatting the new file. But I am still working on the new excel file creation challenge.
    Let me put my problem in a different way.
    Certain data is being acquired continually and is being written to a certain excel file, when the size of the file exceeds lets say 1MB the program should start saving the data in a NEW FILE instead of the previous file.
    I have attached the VI to explain what I am trying to achieve here.
    Reeves
    Attachments:
    New Microsoft Office Excel Worksheet.zip ‏30 KB

  • Data open/save-as in Excel worksheet

    Hi all,
    i created implement one diagram into my existing vi for opening and saving the data in microsoft excel worksheet but it doesn't work. I have been looking through Excel Macro Example but couldn't make sense of it much.
    still new in this and will really appreciate if someone can give me any insights for my problem.
    thank you
    Attachments:
    Excel messedup.vi ‏40 KB

    You need to learn about data dependency!
    In your VI you are performing three actions simultaneously:
    Reading from an instrument and collecting data and then writing it to a text file in tab-delimited format, and then reading that file, but not doing anything with it.
    Opening an Excel workbook and then a worksheet, and then closing the reference to the workbook.
    Opening the Excel application and then closing it the reference to it.
    Why do you need to open/close Excel if you're already writing the data to a text file in tab-delimited format? Excel can read this directly.
    I would strongly suggest going through the LabVIEW tutorials that discuss data dependency and how to code in LabVIEW.

  • Copy a table in Safari and paste special, as text, to an Excel worksheet

    I am attempting to write Applescript code to copy a table in Safari and paste special, as text, to an Excel worksheet.
    When I perform the operation manually, all the rows of the Safari table are pasted into Excel in a single column, i.e. after all of the data in a row of a table is pasted vertically into Excel,the next row is pasted in the next open cell below in the same column, as I need it.
    When I use the applescript line..."paste special on worksheet format text" Excel pastes the table data in rows AND columns , like the table looks in Safari, but I do not want it pasted this way.
    Any ideas on how to get my Applescript code to perform the same manual operation?
    Thanks!

    I do not know what Excel you have, but to copy a table from a Safari's page, you could use the table tags of the page's source to get the table you want.
    That is, use text item delimiters.
    deivy

  • Unable to work in embedded Excel worksheets, errors out, and forced into task manager

    I am unable to work in Excel worksheets embedded Word 2010. I continually get the following errors/warnings: "Microsoft Word can't start the application required to open this object. An error occurred and this feature
    is no longer functioning properly. Would you like to repair this feature now?" & " "The program used to create this object is Excel. That program is either not installed on your computer or it is not responding. To edit this object, install Excel or ensure
    that any dialog boxes in Excel are closed." After these messages, I click to repair Word and upon a fresh reboot ...the same thing over and over and over again. After going through this procedure, I usually get another warning message regarding "OLE...." which
    pops up continually until I "Ctrl-Alt-Del" and stop the Excel item in processes.
    Currently I'm on Win7 64 Enterprise OS and 32 Bit Office 2010, Solutions that I have tried: disabling add-ins, updating, installing service packs with no success... 
    HELP PLEASEEEEEE!!!! 

    Hi,
    You disable COM Add-in in Excel or Word ?
    This problem might be related to some third-party in Excel,
    Close word, and start Excel worksheet.
    In Excel, click File menu, click Options > 
    Add-ins, click Go button in the Manage:
    COM Add-ins.
    Check if there has any add-ins, clear the checkbox to disable them.
    Start Word and try to edit your embedded files. They should now work without a problem.
    If the problem does not appear, restart Excel and add one check back each time to the list of Add-In, restart the Excel program, and
    repeat the above procedure. Once the issue reappears again, we can determine which add-in causes this problem and then disable it.
    Best Regards.
    William Zhou
    TechNet Community Support

  • How to fix the row-height in excel using ole2

    hi
    I want to fix row height in excel using ole2.
    i wrote the below code but no effect. please help me.
    Arg := ole2.create_arglist;
         ole2.add_arg(Arg,1);
         rrow := ole2.get_obj_property(WorkSheet,'Rows',Arg);
         ole2.destroy_arglist(arg);
         ole2.set_property(rrow,'Height',50);
    kanish

    It's solved
         ole2.set_property(rrow,'RowHeight',30);
    kanish

  • Can I prefill forms from an excel worksheet

    I am looking for an alternative to typing or copy and pasting names onto forms that I distribute to clients. I am wondering if there is a way I can link an excel worksheet or export data from a document to prefill on each form. Something similar to a mail merge of some type.
    Thank you!

    Probably the easiest way to do this is to import the data in Acrobat from a tab-delimited file that you export from Excel. The first row must contain the exact field names and subsequent rows contain one or more records. When you import, you will be able to select a row of data and it will then be used to populate the form. So the workflow is:
    1. Begin by setting up a worksheet to include the field names of the PDF form as the first row.
    2. Populate the worksheet with one or more records.
    3. Save worksheet as a tab-deliimited text file.
    4. Open the form in Acrobat
    5. Import a row of data form the text file. E.g., Tools > Forms > More Form Options > Import Data > [select text file] > [select row]

  • Function module to download to Excel worksheet.

    Hi All,
            Need a function module to download internal table data to exact worksheet number in the excel sheet, that too it sholud be appended from some row number.
    The regular function modules are helping just to create an excel sheet and fill data, But not to append to exact work sheet, like work sheet no.5 or 6 of excel on presentation.
    Thanks in Advance,
    Regards,
    Yogesh

    Download a report to excel with format (border, color cell, etc) 
    Try this program...it may help you to change the font ..etc.
    Code:
    REPORT ZSIRI NO STANDARD PAGE HEADING.
    this report demonstrates how to send some ABAP data to an
    EXCEL sheet using OLE automation.
    INCLUDE OLE2INCL.
    handles for OLE objects
    DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object
          H_MAPL TYPE OLE2_OBJECT,         " list of workbooks
          H_MAP TYPE OLE2_OBJECT,          " workbook
          H_ZL TYPE OLE2_OBJECT,           " cell
          H_F TYPE OLE2_OBJECT.            " font
    TABLES: SPFLI.
    DATA  H TYPE I.
    table of flights
    DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
    *&   Event START-OF-SELECTION
    START-OF-SELECTION.
    read flights
      SELECT * FROM SPFLI INTO TABLE IT_SPFLI UP TO 10 ROWS.
    display header
      ULINE (61).
      WRITE: /     SY-VLINE NO-GAP,
              (3)  'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (4)  'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
              (8)  'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.
      ULINE /(61).
    display flights
      LOOP AT IT_SPFLI.
      WRITE: / SY-VLINE NO-GAP,
               IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
               IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.
      ENDLOOP.
      ULINE /(61).
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-007
           EXCEPTIONS
                OTHERS     = 1.
    start Excel
      CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
    PERFORM ERR_HDL.
      SET PROPERTY OF H_EXCEL  'Visible' = 1.
    CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'
    PERFORM ERR_HDL.
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-008
           EXCEPTIONS
                OTHERS     = 1.
    get list of workbooks, initially empty
      CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
      PERFORM ERR_HDL.
    add a new workbook
      CALL METHOD OF H_MAPL 'Add' = H_MAP.
      PERFORM ERR_HDL.
    tell user what is going on
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-009
           EXCEPTIONS
                OTHERS     = 1.
    output column headings to active Excel sheet
      PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
      PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
      PERFORM FILL_CELL USING 1 3 1 'Von'(003).
      PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
      PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
      LOOP AT IT_SPFLI.
    copy flights to active EXCEL sheet
        H = SY-TABIX + 1.
        PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
        PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
        PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
        PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
        PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
      ENDLOOP.
    changes by Kishore  - start
    CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
      CALL METHOD OF H_EXCEL 'Worksheets' = H_MAPL." EXPORTING #1 = 2.
      PERFORM ERR_HDL.
    add a new workbook
      CALL METHOD OF H_MAPL 'Add' = H_MAP  EXPORTING #1 = 2.
      PERFORM ERR_HDL.
    tell user what is going on
      SET PROPERTY OF H_MAP 'NAME' = 'COPY'.
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
              PERCENTAGE = 0
               TEXT       = TEXT-009
           EXCEPTIONS
                OTHERS     = 1.
    output column headings to active Excel sheet
      PERFORM FILL_CELL USING 1 1 1 'Flug'(001).
      PERFORM FILL_CELL USING 1 2 0 'Nr'(002).
      PERFORM FILL_CELL USING 1 3 1 'Von'(003).
      PERFORM FILL_CELL USING 1 4 1 'Nach'(004).
      PERFORM FILL_CELL USING 1 5 1 'Zeit'(005).
      LOOP AT IT_SPFLI.
    copy flights to active EXCEL sheet
        H = SY-TABIX + 1.
        PERFORM FILL_CELL USING H 1 0 IT_SPFLI-CARRID.
        PERFORM FILL_CELL USING H 2 0 IT_SPFLI-CONNID.
        PERFORM FILL_CELL USING H 3 0 IT_SPFLI-CITYFROM.
        PERFORM FILL_CELL USING H 4 0 IT_SPFLI-CITYTO.
        PERFORM FILL_CELL USING H 5 0 IT_SPFLI-DEPTIME.
      ENDLOOP.
    changes by Kishore  - end
    disconnect from Excel
         CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING  #1 = 'C:\SKV.XLS'.
      FREE OBJECT H_EXCEL.
      PERFORM ERR_HDL.
          FORM FILL_CELL                                                *
          sets cell at coordinates i,j to value val boldtype bold       *
    FORM FILL_CELL USING I J BOLD VAL.
      CALL METHOD OF H_EXCEL 'Cells' = H_ZL EXPORTING #1 = I #2 = J.
      PERFORM ERR_HDL.
      SET PROPERTY OF H_ZL 'Value' = VAL .
      PERFORM ERR_HDL.
      GET PROPERTY OF H_ZL 'Font' = H_F.
      PERFORM ERR_HDL.
      SET PROPERTY OF H_F 'Bold' = BOLD .
      PERFORM ERR_HDL.
    ENDFORM.
    *&      Form  ERR_HDL
          outputs OLE error if any                                       *
    -->  p1        text
    <--  p2        text
    FORM ERR_HDL.
    IF SY-SUBRC <> 0.
      WRITE: / 'Fehler bei OLE-Automation:'(010), SY-SUBRC.
      STOP.
    ENDIF.
    ENDFORM.                    " ERR_HDL
    Please note that this example maybe slow at filling the excel table
    (perhaps four fields per second on a 900 MHz machine - almost 30 seconds
    for a short example).
    To get the data on properties and methods - there is a bit of smoke and mirrors
    going on here; they are EXCEL properties and methods, not sap ones - so you need
    to look at excel help to determine how a particular function is structured. then
    build the block in sap, as shown in the example.
    If you only want to transfer the data to Excel like when you transfer the data from
    ALV to Excel simply use the Function Modules:
    XXL_SIMPLE_API
    If you want more modifications when you transfer it to Excel use:
    XXL_FULL_API

  • Hiding rows in Web report

    I am currently hiding an entire row via ABAP classes using 'style="display:none"' however there is a thick gridline where the hiding row is. Has anyone encountered this before and is there a better way to hide rows? I have hidden columns using 'style="display:none"' and the report looks ok, but hiding rows this way leaves thick gridlines where the rows use to be.
    mark

    It seems the problem is the method for c_cell_td_extend will only hide the <TD>, but the <TR> will still exist, thus the gridline displaying in the report. does anyone know of a way to clear the <TR> as well for web templates?
    mark
    Message was edited by:
            Mark Siongco

Maybe you are looking for

  • Problem Installing Adobe Air

    I'm running Windows 7 on a laptop.  I have downloaded Adobe Air version 13.0.0.83 successfully.  When I click on the Setup.exe file the program will start the install process, but it will immediately shutdown with an error message.  I have tried this

  • How to see photos of people who make comments in facebook?

    I can´t see the photos of people who make comments in a webpage of facebook.

  • Extended Warranty increase of $1.01 per month?!  Ridiculous!!!

    I could see a small increase; but $1.01?!  Trying to justify this increase by saying the cost of phones is increasing and that you provide free shipping, etc., is ridiculous.  I have worked in purchasing and various other departments at companies whe

  • Native AIR extensions in Flash Pro

    I understand that AIR 3.X for Android supports "AIR Native Extensions" written in Java.  Has anyone successfully used one from Flash Pro.  I'd really love to see a working example from one of the Adobe samples such as their Gyroscope example at: http

  • Can't purchase from iTunes since OS 10.3.9 Update

    Ever since I updated my OS to 10.3.9, my iTunes 4.9 gives me an error message when I try to purchase a song. The error message reads, you must have version 6.0 to purchase this song but I can't upgrade since my G3 is running at 400 mHz. Help!!