PSLブログ

ヨシナシゴトヲツヅリマス

Spreadsheet::ParseXLSXでval()についてしまうフリガナを除去する方法

Spreadsheet::XLSXにつづいてSpreadsheet::ParseXLSXでも同様の問題が出た。欧米圏ではIMEを使わないからこの問題が起きないので気づかないのだorz

blog.psl.ne.jp

 方法は単純なんで、ParseXLSX.pmの127行目(バージョン0.27の場合)の


if ($files->{strings}) {
$files->{strings} =~ s#<rPh.*?>(.*?)</rPh>##gsm;
my %string_parse_data = $self->_parse_shared_strings(
$files->{strings},
$themes->{Color}
);
$workbook->{PkgStr} = $string_parse_data{PkgStr};
$workbook->{Rich} = $string_parse_data{Rich};
}

の部分にハイライトした1行を追加するだけ。