Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Convert Excel File (xls) to tab delimited text file on AIX Post 302966916 by cero on Thursday 18th of February 2016 02:45:27 AM
Old 02-18-2016
I used Perl the last time I had to deal with Excel in a *nix environment.
You can take this script as a starting point if Perl is installed and if you're able to obtain the ParseExcel module (just replace the semicolon with a tab):
Code:
#!/usr/bin/perl -w

# convert an excel file to a .csv file

use strict;
use Spreadsheet::ParseExcel;

if ($#ARGV != 1) {
   print "\nUsage: excel2csv.pl <workbook_name> <worksheet_name>\n";
   exit;
}

my $workbook_name         = $ARGV[0];
my $worksheet_name        = $ARGV[1];

my $parser                = Spreadsheet::ParseExcel->new();
my $workbook              = $parser->parse( "$workbook_name" );
my $worksheet             = $workbook->worksheet( "$worksheet_name" );

if ( !defined $workbook ) {
   die $parser-error(), ".\n";
}

my ( $row_min, $row_max ) = $worksheet->row_range();
my ( $col_min, $col_max ) = $worksheet->col_range();
my $output                = '';
for my $row ( $row_min .. $row_max ) {
   for my $col ( $col_min .. $col_max ) {
      my $cell            = $worksheet->get_cell( $row, $col );
      if ( $cell ) {
         my $cell_value   = $cell->value();
         $cell_value      =~ s/\;/,/g;
         $output          = $output . $cell_value . ';';
      }
      else {
         $output          = $output . ';';
      }
   }
   print "$output\n";
   $output                = '';
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to convert tab delimited file to .csv file

Hi, Can any one please help me in converting a tab delimited file in .csv file. Records in my file are similar to mentioned below: DET 001 0201 AC032508970 01478E1X8 DET 002 0202 AC032508971 01478E1X8 Could any one please suggest me what approach would be more suitable for this or if... (5 Replies)
Discussion started by: dtidke
5 Replies

2. Shell Programming and Scripting

Convert MS Excel file to Tab limiter file in UNIX

Hi, We have a couple of ms excel files in unix server.We need convert the excel files to files TAB limiter format file with using unix script. Could you please advise on this (2 Replies)
Discussion started by: koti_rama
2 Replies

3. UNIX for Dummies Questions & Answers

How to convert text to columns in tab delimited text file

Hello Gurus, I have a text file containing nearly 12,000 tab delimited characters with 4000 rows. If the file size is small, excel can convert the text into coloumns. However, the file that I have is very big. Can some body help me in solving this problem? The input file example, ... (6 Replies)
Discussion started by: Unilearn
6 Replies

4. UNIX for Dummies Questions & Answers

How to convert a text file into tab delimited format?

I have a text file that made using text editor in Ubuntu. However the text file is not being recognized as space or tab delimited, the formatting seems to be messed up. How can I convert the text file into tab delimited format? (3 Replies)
Discussion started by: evelibertine
3 Replies

5. Shell Programming and Scripting

how to convert comma delimited file to tab separator

Hi all, How can i convert comma delimited .csv file to tab separate using sed command or script. Thanks, Krupa (4 Replies)
Discussion started by: krupasindhu18
4 Replies

6. Shell Programming and Scripting

Convert a 3 column tab delimited file to a matrix

Hi all, I have a 3 columns input file like this: CPLX9PC-4943 CPLX9PC-4943 1 CPLX9PC-4943 CpxID123 0 CPLX9PC-4943 CpxID126 0 CPLX9PC-4943 CPLX9PC-5763 0.5 CPLX9PC-4943 CpxID13 0 CPLX9PC-4943 CPLX9PC-6163 0 CPLX9PC-4943 CPLX9PC-6164 0.04... (7 Replies)
Discussion started by: AshwaniSharma09
7 Replies

7. Shell Programming and Scripting

Need to convert delimited text file in UNIX to an Excel file

Dear Users , Need to convert delimited text files in UNix server to an Excel file and move the excel file to Windows environment. Am trying to automate the whole process. Can anyone share the ideas,if they have done similar ones before...Thanks -Meera (1 Reply)
Discussion started by: meerakrish
1 Replies

8. Shell Programming and Scripting

How to convert space&tab delimited file to CSV?

Hello, I have a text file with space and tab (mixed) delimited file and need to convert into CSV. # cat test.txt /dev/rmt/tsmmt32 HP Ultrium 6-SCSI J3LZ 50:03:08:c0:02:72:c0:b5 F00272C0B5 0/0/6/1/1.145.17.255.0.0.0 /dev/rmt/c102t0d0BEST /dev/rmt/tsmmt37 ... (6 Replies)
Discussion started by: prvnrk
6 Replies

9. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

10. Shell Programming and Scripting

Trouble reading from a tab delimited excel file

So I have a file1.txt that is tab delimited: e.g. FIELD1 FIELD2 FIELD3 FIELD4 FIELD5 9545641 123 "Neighbor and Labrador,Canada" 54895 'CANADA' 9456465 456 "Neighbor and Labrador,Canada" 54893 'CANADA' 8746512 789 "Neighbor and... (11 Replies)
Discussion started by: dan139
11 Replies
Excel::Writer::XLSX::Chart::Stock(3pm)			User Contributed Perl Documentation		    Excel::Writer::XLSX::Chart::Stock(3pm)

NAME
Stock - A class for writing Excel Stock charts. SYNOPSIS
To create a simple Excel file with a Stock chart using Excel::Writer::XLSX: #!/usr/bin/perl -w use strict; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'chart.xlsx' ); my $worksheet = $workbook->add_worksheet(); my $chart = $workbook->add_chart( type => 'stock' ); # Add a series for each High-Low-Close. $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$B$2:$B$6' ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$C$2:$C$6' ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$D$2:$D$6' ); # Add the worksheet data the chart refers to. # ... See the full example below. __END__ DESCRIPTION
This module implements Stock charts for Excel::Writer::XLSX. The chart object is created via the Workbook "add_chart()" method: my $chart = $workbook->add_chart( type => 'stock' ); Once the object is created it can be configured via the following methods that are common to all chart classes: $chart->add_series(); $chart->set_x_axis(); $chart->set_y_axis(); $chart->set_title(); These methods are explained in detail in Excel::Writer::XLSX::Chart. Class specific methods or settings, if any, are explained below. Stock Chart Methods There aren't currently any stock chart specific methods. See the TODO section of Excel::Writer::XLSX::Chart. The default Stock chart is an High-Low-Close chart. A series must be added for each of these data sources. EXAMPLE
Here is a complete example that demonstrates most of the available features when creating a Stock chart. #!/usr/bin/perl use strict; use warnings; use Excel::Writer::XLSX; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'chart_stock.xlsx' ); my $worksheet = $workbook->add_worksheet(); my $bold = $workbook->add_format( bold => 1 ); my $date_format = $workbook->add_format( num_format => 'dd/mm/yyyy' ); my $chart = $workbook->add_chart( type => 'stock', embedded => 1 ); # Add the worksheet data that the charts will refer to. my $headings = [ 'Date', 'High', 'Low', 'Close' ]; my $data = [ [ '2007-01-01T', '2007-01-02T', '2007-01-03T', '2007-01-04T', '2007-01-05T' ], [ 27.2, 25.03, 19.05, 20.34, 18.5 ], [ 23.49, 19.55, 15.12, 17.84, 16.34 ], [ 25.45, 23.05, 17.32, 20.45, 17.34 ], ]; $worksheet->write( 'A1', $headings, $bold ); for my $row ( 0 .. 4 ) { $worksheet->write_date_time( $row+1, 0, $data->[0]->[$row], $date_format ); $worksheet->write( $row+1, 1, $data->[1]->[$row] ); $worksheet->write( $row+1, 2, $data->[2]->[$row] ); $worksheet->write( $row+1, 3, $data->[3]->[$row] ); } $worksheet->set_column( 'A:D', 11 ); # Add a series for each of the High-Low-Close columns. $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$B$2:$B$6', ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$C$2:$C$6', ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$D$2:$D$6', ); # Add a chart title and some axis labels. $chart->set_title ( name => 'High-Low-Close', ); $chart->set_x_axis( name => 'Date', ); $chart->set_y_axis( name => 'Share price', ); $worksheet->insert_chart( 'E9', $chart ); __END__ AUTHOR
John McNamara jmcnamara@cpan.org COPYRIGHT
Copyright MM-MMXII, John McNamara. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. perl v5.10.1 2012-04-02 Excel::Writer::XLSX::Chart::Stock(3pm)
All times are GMT -4. The time now is 04:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy