含兴奋剂目录所列物质的药品一览HTML转换程序
返回
最近有个「卫生部办公厅关于加强医疗机构含兴奋剂药品使用管理的通知」并附有以下两个附件(EXCEL文件)。
附件1:含兴奋剂目录所列物质的化学药品及生物制品品种名单
附件2:含兴奋剂目录所列物质的中药品种名单
编了一个小程序把EXCEL文件转化成了HTML文件。
变换程序
use strict; use HTML::Template; use utf8; my(%t,@fld,$n,$template,@loop); print "Please input filename(*.txt)="; chop($t{root}=
); $t{inputf} = $t{root} . '.txt'; $t{htm0} = $t{root} . '0.htm'; $t{outputf} = $t{root} . '.htm'; open(IN,"name.txt") or die "Can't open the file name.txt.\n"; while(
) { if ( /^8888/ ) { @fld = split; $t{d1} = $fld[1]; } } close(IN); # Read excel data @loop = (); $t{NO} = 0; open(IN,"$t{inputf}") or die "Can't open the file $t{inputf}.\n"; while(
){ chop; $t{NO}++; @fld = split($t{d1}); $t{TYPE1} = 0; $t{A1} = $fld[0]; if ( $t{A1} ne "\t" ) { $t{TYPE1} = 'A1'; $t{LINE_A1}{$t{NO}} = $fld[0]; $t{LINE_B1}{$t{NO}} = $fld[1]; $t{P1} = 'P' . $t{NO}; $t{lists}{$t{P1}}++; } else { $t{lists}{$t{P1}}++; $t{LINE_B1}{$t{NO}} = $fld[1]; } if ( $t{TYPE1} ) { $t{LINE_TYPE}{$t{NO}} = $t{TYPE1}; } else { $t{LINE_TYPE}{$t{NO}} = 'A0'; } } close(IN); for $n ( 1 .. $t{NO} ) { $t{TYPE1} = $t{LINE_TYPE}{$n}; if ( $t{TYPE1} eq 'A1' ) { $t{A1} = $t{LINE_A1}{$n}; $t{P1} = 'P' . $n; $t{P1no} = $t{lists}{$t{P1}}; $t{LINE1} = '
'; $t{LINE1} .= $t{A1} . '
'; $t{LINE1} .= '
' . $t{LINE_B1}{$n} . '
'; } else { $t{LINE1} = '
'; $t{LINE1} .= '
' . $t{LINE_B1}{$n} . '
'; } my %row = ( LINE1 => $t{LINE1} ); push(@loop, \%row); } $template = HTML::Template->new(filename => "$t{htm0}"); $template->param(loop => \@loop); open(OUT,">$t{outputf}"); print OUT $template->output; close(OUT); print "The output file is $t{outputf}\n"; __END__;
样本文件1(f10.htm)
附件1:含兴奋剂目录所列物质的化学药品及生物制品品种名单
附件1:含兴奋剂目录所列物质的化学药品及生物制品品种名单
兴奋剂中文名
药品通用名称
兴奋剂中文名
药品通用名称
返回
附件2:含兴奋剂目录所列物质的中药品种名单
附件2:含兴奋剂目录所列物质的中药品种名单
兴奋剂中文名
药品通用名称
兴奋剂中文名
药品通用名称
返回
样本文件2(f20.htm)
-------------------------------------------
返回