#-------------------------------------------------
# (定義元)スクリプトと同じフォルダ内の「kamoku.xls」
# (Excelの項目・・試験区分, 科目コード, 枚数)
#
# (格納先ハッシュ)
# $t_kmk{試験区分}{科目コード}=枚数
#-------------------------------------------------
my $format = new Spreadsheet::ParseExcel::FmtJapan->new(Code => 'sjis');
my $xlsfile = Cwd::getcwd().'\kamoku.xls';
my $sheet = new Spreadsheet::ParseExcel->Parse($xlsfile, $format)->{"Worksheet"}[0];
my $maxRow = $sheet->{"MaxRow"};
my $maxCol = $sheet->{"MaxCol"};
for(my $row=1; $row<=$maxRow; $row++) { # Excel 1行目は見出し行で対象外
# (定義元)スクリプトと同じフォルダ内の「kamoku.xls」
# (Excelの項目・・試験区分, 科目コード, 枚数)
#
# (格納先ハッシュ)
# $t_kmk{試験区分}{科目コード}=枚数
#-------------------------------------------------
my $format = new Spreadsheet::ParseExcel::FmtJapan->new(Code => 'sjis');
my $xlsfile = Cwd::getcwd().'\kamoku.xls';
my $sheet = new Spreadsheet::ParseExcel->Parse($xlsfile, $format)->{"Worksheet"}[0];
my $maxRow = $sheet->{"MaxRow"};
my $maxCol = $sheet->{"MaxCol"};
for(my $row=1; $row<=$maxRow; $row++) { # Excel 1行目は見出し行で対象外
$wk_skbn = $sheet->{"Cells"}[$row][0]->Value;
$wk_kmk = $sheet->{"Cells"}[$row][1]->Value;
$wk_maisu = $sheet->{"Cells"}[$row][2]->Value;
# $t_kmk{試験区分}{科目コード}{maisu}=枚数
$t_kmk{$wk_skbn}{$wk_kmk} =$wk_maisu;}
}
# 科目テーブル $t_kmk{試験区分}{科目コード}=枚数
print " --- 科目テーブル \$t_kmk{試験区分}{科目コード}=枚数 \n";
foreach $key1_skbn (sort keys %t_kmk){
foreach $key2_kmk ( sort keys %{$t_kmk{$key1_skbn}} ){
print " $key1_skbn,$key2_kmk,$t_kmk{$key1_skbn}{$key2_kmk}枚\n";
}
}
$wk_kmk = $sheet->{"Cells"}[$row][1]->Value;
$wk_maisu = $sheet->{"Cells"}[$row][2]->Value;
# $t_kmk{試験区分}{科目コード}{maisu}=枚数
$t_kmk{$wk_skbn}{$wk_kmk} =$wk_maisu;}
}
# 科目テーブル $t_kmk{試験区分}{科目コード}=枚数
print " --- 科目テーブル \$t_kmk{試験区分}{科目コード}=枚数 \n";
foreach $key1_skbn (sort keys %t_kmk){
foreach $key2_kmk ( sort keys %{$t_kmk{$key1_skbn}} ){
print " $key1_skbn,$key2_kmk,$t_kmk{$key1_skbn}{$key2_kmk}枚\n";
}
}