I know this topic was discussed many many times before. All solutions are dealing with the gui_upload function module, which is quite good but therefore the user has to login to SAP first and call some transaction or whatever.
I currently search for a VBA based solution to upload an excel worksheet into an itab. So the user can press a button directly in excel.
you can use the RFC libary to communicate with the system without a visible SAP GUI.
There are some OCX for controling connections and calling function modules. As they are OCX, they can also be used in excel macros.
But you need a remote enabled function module in your sap system, to recievie the data and set them into internal table of a structure you define. So some coding in ABAP is required.