I think there is an issue with the definition of EOL in class ZCL_EXCEL_WRITER_CSV. It is defined as CHAR01. This makes it impossible to use CR/LF as a separator.
In the setter method SET_ENDOFLINE the parameter IP_VALUE is defined as ANY, which will allow for a CR/LF separator (and it is the default). However, the value gets truncated when assigned to zcl_excel_writer_csv=>eol (because it is only CHAR01).
Thanks,
Kevin