use Encode; use utf8; use XML::LibXML; use Spreadsheet::ParseExcel; system("cls"); my $materialmapping_file = shift; my $data_folder = shift; unless (defined $materialmapping_file and defined $data_folder) { print "Usage: $0 \n"; exit; } opendir ( DIR, $data_folder ) || die "Error in opening dir $data_folder\n"; my $materialmapping_table_xml = XML::LibXML->createDocument( "1.0", "UTF-8"); my $materialmapping_table_xml_root = $materialmapping_table_xml->createElement("masterdata"); $materialmapping_table_xml_root->setAttribute('version',getSQLTimeStamp()); $materialmapping_table_xml->setDocumentElement($materialmapping_table_xml_root); print "loading...\n"; while(($filename = readdir(DIR))){ next unless $filename =~ /\.xls$/i; print " - $filename \n"; my $parser = Spreadsheet::ParseExcel->new(); my $oBook = $parser->parse($data_folder.$filename); next unless defined $oBook; for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++) { $oWkS = $oBook->{Worksheet}[$iSheet];