Обработка Юникода в Spreadsheet :: WriteExcel относительно проста: если строка, которую вы пытаетесь записать, имеет формат utf8, то она записывается в файл Excel именно так, как вы ожидаете.
Обеспечение того, чтобы написанные строки были в формате utf8, не всегда так просто.
Чтобы решить эту проблему, вам просто нужно выяснить, в какой кодировке находятся строки, поступающие из MSSQL, а затем использовать модуль Encode для преобразования их в utf8. Например:
use Encode 'decode';
my $string = 'some string with koi8-r characters';
$string = decode('koi8-r', $string);
$worksheet->write('A1', $string);
Взгляните на unldode perldocs, связанный в разделе WriteExcel выше для некоторого фона.