Here are a few notes from some code I wrote in 2006 (using Win32:OLE and Excel)
# Set the locale to American English, which lets us do things like use
# American date formats (e.g. "12-30-98" rather than "30-12-98"). This
# will continue to work even when international users have to run this
# program on their computers.
use Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG);
$Win32::OLE::LCID = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAU
+LT));
# The value of $Win32::OLE::Warn determines what happens when an OLE e
+rror
# occurs. If it's 0, the error is ignored. If it's 2, or if it's 1 &
+ the
# script is running under -w, the Win32::OLE module invokes Carp::car
+p().
# If $Win32::OLE::Warn is set to 3, Carp::croak() is invoked and the
+pro-
# gram dies immediately.
$Win32::OLE::Warn = 2;
Excel has a per-cell content length limit that is approximately 32,??? characters (it's not 32,767 or 32,768--it's less than this). Exceeding this limit results in silent truncation by Excel if I correctly recall.
Searched for donuts and crumpit. Found content instead.