Zack,
it is possible to manually loop the internal table to a work area and concatenate the entries into the lv_string parameter. When you want a new line you have to use cl_bcs_convert=>gc_crlf and when you want a new column you have to use command cl_bcs_convert=>gc_tab.
you can define constants for those commands and then use it to build.
Example:
CONCATENATE v_lstring text-015 c_new_column
text-016 c_new_column
c_new_line INTO v_lstring.
CONCATENATE v_lstring wa_x-z c_new_column
wa_x-y c_new_column
c_new_line INTO v_lstring.
Hope that helps.