in reply to Excel and Win32::Clipboard

Thank you for the suggestions, but unfortunately none of those made any difference.
The spreadsheet cell contains the value "Test"
The output in the file (with no encode and no binmode) is 48,265 bytes long!. It only copied the first four characters when I copied/pasted it here. Needless to say, it is a far cry from "Test":

BMBl

Update: It works when "GetText()" is used instead of "Get()". Problem solved. :)

"It's not how hard you work, it's how much you get done."

Replies are listed 'Best First'.
Re^2: Excel and Win32::Clipboard
by pryrt (Abbot) on Mar 26, 2020 at 02:00 UTC
    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.