john.tm has asked for the wisdom of the Perl Monks concerning the following question:

Hi monks, At the start of my script i convert a data file from XLSX to CSV format (comma seperated). But i have noticed that the date field is being changed ie 11/04/2004 is being returned as 11-4-04. why is this happening?
#!/usr/bin/perl use strict; use warnings; use Spreadsheet::BasicRead; use Excel::Writer::XLSX; local $" = "'\n'"; #Set-up Files my $xlsx = ( "C:\\Temp\\NCPS_Data\\whole_school_data.xlsx"),, 1; my @csvtemp; my $ss = new Spreadsheet::BasicRead($xlsx) or die; my $col = ''; my $row = 0; while ( my $data = $ss->getNextRow() ) { $row++; $col= join( ",", @$data ); print @csvtemp, $col . "\n" if ( $col ne "" ); } __DATA__ James Le M 5 tttt Y Y Y James Le M 5 11/04/2004 Y Y
  • Comment on perl script is changing date field when i convert a file from xlsx to csv
  • Download Code

Replies are listed 'Best First'.
Re: perl script is changing date field when i convert a file from xlsx to csv
by nikosv (Deacon) on Oct 15, 2015 at 08:54 UTC
      Solved the spreadsheet cells needed re-formating ..