OK, this is getting clearer now.
The most likely reason you can't import directly is because you have a field formatting problem in the spreadsheet. I'll explain in better detail so you know for what you are looking.
When you import a spreadsheet you usually use the Import Wizard to do it. But he's only a minor-league wizard. If the first data row contains something that is numeric in a given column but a later row is alphanumeric, it is too late. The die has been cast and the wizard already has assumed a numeric column.
One way around this applies if the same spreadsheet format is always going to be used regardless of who uses it. You could in that case define a holding table that contains the correct field formats for every field. Then import your spreadsheet to the existing table. When doing so, SAVE THE IMPORT SPECS with a nice name you can remember. Then set it up so that if you activate a macro (directly or with some VBA code), the macro action names the import specs. That way, when you repeat the process, Access knows a lot more about the file's format and can deal with it better.
Next, write a query that reads the imported spreadsheet and appends the entries to the REAL table. This allows for format and size changes as required. You can also do filtration of bad data before or during the import if you wish.
But now I have another question:
Why are you using a spreadsheet? (Yes, I know you answered this - but I am going to propose an alternative...). You said you wanted this as an object inside your database. From this I draw the implication that the database will be shared in some way. In other words, your users will be opening Access first, not Excel. I will point out that even if Excel was present as an OLE item, it would open and would, for all intents and purposes, be Excel. I.e. you can do anything in Excel without regard to formatting.
Surely you cannot suggest that you want your users to be able to enter arbitrary formulas during data entry! Surely you cannot suggest that you want your users to be able to enter text where numbers should be! Surely you cannot suggest that you want your users to be able to enter data in cell AZ5315 (or some other arbitrary way-out location.) That way leads to chaos.
My alternative: Consider building a separate "import" table and use the FORM WIZARD to build you a pretty little data entry form based on that table. This is not a difficult task and it prevents certain classes of data problem right off the bat. It also doesn't open Excel at all! Even for computers with resource limits, this is much easier to handle than having Access and Excel open at the same time.
Build the form as I described. If the underlying table's data types are correct, Access will flag the input data format errors for you automatically. Then, as you gain experience in Access, you can apply all sorts of validation rules in the data entry form. And by using this separate table as a staging area, YOU get the chance to filter out bad data before it makes its way into your main table.
So I repeat my question: Why are you so fixated on using a spreadsheet?