in reply to Data Types and Win32::OLE

If I understand things correctly you might try this:

$DBrow[$column-1] = $sheet->Cells($row,$column)->{Value}.'';
This forces the expression to be converted to a string which is also what is being done in the print statement on the preceding line. So if the print statement is working, then doing this should give the same results in your database.

The string Win32::OLE::Variant=SCALAR(0x2004638) is a textual representation of a perl reference which is like a pointer in C. In this case it is a pointer to an object of type/class Win32::OLE::Variant and the memory address of the object is 0x2004638.