The output in the file ... is 48,265 bytes long! ... It works when "GetText()" is used instead of "Get()"
The Windows clipboard allows storing multiple formats of the same data in the same clipboard entry. When you copy from Excel, the clipboard both has a native-Excel format (your 48k), which includes all the cell information, formatting, etc; and has a plaintext; and maybe has other formats as well.
Win32::Clipboard has the EnumFormats() to list the formats currently in the clipboard, and GetFormatName() to give you more info for "custom" formats. By switching to GetText() , you were forcing it to give you the CF_TEXT version instead of the native Excel format.