#!/usr/bin/perl
##################################################
# toexcel --Mike Schilli, 2001 (m@perlmeister.com)
##################################################
use strict;
use warnings;

my $IN  = "cd.dat";   # Eingabedatei
my $OUT = "cd.xls";   # Ausgabe-(Excel)-Datei

use Spreadsheet::WriteExcel;

open IN, "<$IN" or die "Cann open $IN";

my @entries = ();

while(<IN>) {
    chomp;
    my($artist, $title) = split /,/, $_, 2;
    $title ||= "";
    push @entries, [$artist, $title];
}

close IN;

my $book   = Spreadsheet::WriteExcel->new($OUT);
my $sheet  = $book->addworksheet();
my $format = $book->addformat(font => "Arial", 
                              size => 8);

my $count  = 0;

for my $col (0..3) {

    for my $row (0..19) {

        my $e = shift @entries;

        last unless $e;   # Keine Einträge mehr?

        my($artist, $title) = @$e;

            # Zähler schreiben
        $sheet->write($row, 2*$col, ++$count, 
                                    $format);
            # Eintrag schreiben
        $sheet->write($row, 2*$col+1, 
                     "$artist - $title", $format);
    }
}

for my $col (0..3) {
        # Zählerfeld: 2 Zeichen breit
    $sheet->set_column(2*$col, 2*$col, 2);
        # CD-Feld: 20 Zeichen breit
    $sheet->set_column(2*$col+1, 2*$col+1, 20);
}

$book->close();
