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 = '';
}
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
excel::template::container::worksheet
Excel::Template::Container::Worksheet(3pm) User Contributed Perl Documentation Excel::Template::Container::Worksheet(3pm)NAME
Excel::Template::Container::Worksheet - Excel::Template::Container::Worksheet
PURPOSE
To provide a new worksheet.
NODE NAME
WORKSHEET
INHERITANCE
Excel::Template::Container
ATTRIBUTES
o NAME
This is the name of the worksheet to be added.
o PROTECT
If the attribute exists, it will mark the worksheet as being protected. Whatever value is set will be used as the password.
This activates the HIDDEN and LOCKED nodes.
o KEEP_LEADING_ZEROS
This will change the behavior of the worksheet to preserve leading zeros.
o HIDE_GRIDLINE
his method is used to hide the gridlines on the screen and printed page. Gridlines are the lines that divide the cells on a worksheet.
Screen and printed gridlines are turned on by default in an Excel worksheet. If you have defined your own cell borders you may wish to
hide the default gridlines.
$worksheet->hide_gridlines();
The following values of $option are valid:
0 : Don't hide gridlines
1 : Hide printed gridlines only
2 : Hide screen and printed gridlines
If you don't supply an argument or use undef the default option is 1, i.e. only the printed gridlines are hidden.
o LANDSCAPE
This will set the worksheet's orientation to landscape.
o PORTRAIT
This will set the worksheet's orientation to portrait.
While this is the default, it's useful to override the default at times. For example, in the following situation:
<workbook landscape="1">
<worksheet>
...
</worksheet
<worksheet portrait="1">
...
</worksheet
<worksheet>
...
</worksheet
</workbook>
In that example, the first and third worksheets will be landscape (inheriting it from the workbook node), but the second worksheet will
be portrait.
o AUTOFILTER
With these attribute, you can add the autofilter to a worksheet. An autofilter is a way of adding drop down lists to the headers of a
2D range of worksheet data. This is turn allow users to filter the data based on simple criteria so that some data is shown and some
is hidden.
Example to add an autofilter to a worksheet:
<workbook>
<worksheet autofilter='A1:D11' />
<worksheet autofilter='0, 0, 10, 3' />
</workbook>
CHILDREN
None
EFFECTS
None
DEPENDENCIES
None
USAGE
<worksheet name="My Taxes">
... Children here
</worksheet>
In the above example, the children will be executed in the context of the "My Taxes" worksheet.
AUTHOR
Rob Kinyon (rob.kinyon@gmail.com)
SEE ALSO
ROW, CELL, FORMULA
perl v5.14.2 2010-06-17 Excel::Template::Container::Worksheet(3pm)