PerlのExcel::Writer::XLSXモジュールで日本語をセルに吐き出すのに苦労したのでmemo
なんかかなり効率悪いことしてる気がするけど、動くことは動く。
@bufferに配列として、文字列データが入っていることを想定
# 配列データをExcelシートに吐き出す for(my $i = 0; $i < $#buffer; $i++){ my @splitedText; my @decodedText = split(//, decode('ShiftJIS', $buffer[$i])); map { push(@splitedText, unpack('H*', encode('UTF16BE', $_))) } @decodedText; $worksheet->write_utf16be_string($iLine, $i, pack('n*', map {hex($_) } @splitedText)); }