Right, well that shouldn't be too hard. I don't have MS Excel here, but I have OpenOffice Calc, so I tested with that.
In a few browsers, when you watch for the Paste event, they will attach a clipboardData object to the event, in Internet Explorer however it is not present, but they have kindly provided it on the Window object, so it is kind of always there.
If you're getting data from a Paste event, most browsers shouldn't throw a warning either, another plus 
I wrote a solution for this that is slightly different than your requirement, I wrote it so that a user can paste in to a special "paster" field that I watch for paste events, when the user pastes in to that field, I take the paste data, split it by newline to get the rows, and then populate the form fields with that data. You can quite easily adapt this to make it work from the currently pasted field forward I imagine.
The basics are:
Code JavaScript:
//assume we have a form field we're pasting to:
document.getElementById("paster").addEventListener("paste", pasteHandler);
function pasteHandler(e){
var pasted, rows, fields, fieldsLen, i;
// use either
// pasted = e.clipboardData.getData("text")
// or
// pasted = window.clipboardData.getData("text")
// split by newline and populate fields
rows = pasted.split("\n");
fields = document.getElementsByClassName("inputRow");
fieldsLen = fields.length;
//loop through your data fields and assign the values.
for (i = 0; i < fieldsLen; i+=1) {
//assign value of paste data to the field
fields[i].value = rows[i] || "";
}
}
I have a full solution on JS Fiddle if you want to take a look: http://jsfiddle.net/GeekyJohn/mpNJq/
As I mentioned at the start, I don't have MS Excel, so you might need to adapt the string splitting part depending on what it does, but I'm assuming it does either the same or something very similar to OpenOffice.
e.g. for my test data I used a simple dataset:
| A1 |
B1 |
C1 |
D1 |
| A2 |
B2 |
C2 |
D2 |
| A3 |
B3 |
C3 |
D3 |
| A4 |
B4 |
C4 |
D4 |
| A5 |
B5 |
C5 |
D5 |
Analysis of a row:
Code:
A1 --> B1 --> C1 --> D1 \n
## Where --> is a TAB character
Bookmarks