Actually, 1311 bytes
O⌠';*⌡M'#j'#oO⌠';*'#o⌡MΣ
Explanation:
O⌠';*⌡M'#j'#oO⌠';*'#o⌡MΣ
O convert input string to list of ASCII ordinals
⌠';*⌡M ⌠';*'#o⌡M for each ordinal:
';* repeat ";" repeated that many times
'#o '#j join withappend "#"s"#"
'#o appendΣ a "#"concatenate