- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 300円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 600円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 100円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍
DBD::Excelとか麻布十番納涼祭りとか
朝から毎月定例の内科。今日は採血されて結果は来月。
帰ってから、ちょっとperl。
毎週ルーチンで、60個前後のエクセルファイルを開いてcsvに保存する、という実に馬鹿馬鹿しい低脳作業がある。こんなもの人間のやる仕事じゃない。腐れエクセルには1mmも触りたくない。
複数人が並行で入力しているんだけど、さいわい、シートの名前に規則性があるんで、以前ちらっとここで触れたDBD::Excelを、本稼動させてみた。
ディレクトリにあるxlsファイルを開いて、特定のシートをcsvに吐き出す
#!/usr/local/bin/perl
use strict;
use Encode;
use utf8;
binmode OUT=>':cp932';
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtJapan;
my $oFmtJ = Spreadsheet::ParseExcel::FmtJapan->new(Code =>'cp932');
my $sheet = shift(@ARGV);
my $orig_dir = 'xls/';
foreach my $d ( @{ $section_dir } ){
opendir(DIR, $orig_dir) || die;
my @files = grep(/.xls/, readdir(DIR));
closedir(DIR);
foreach (@files){
my $xls = $orig_dir . $_;
my $oBook =
Spreadsheet::ParseExcel::Workbook->Parse( $xls, $oFmtJ);
my $ws; my $wc;
for(my $i = 0; $i < $oBook->{SheetCount}; $i++){
$ws = $oBook->{Worksheet}[$i];
if( $ws->{Name} =~ m!$sheet! ){
printf qq{XLS:%s Sheet:%sn}, $xls, $ws->{Name};
for(my $r = $ws->{MinRow}; $r <= $ws->{MaxRow}; $r++ ){
my @buf;
for(my $c = $ws->{MinCol}; $c <= $ws->{MaxCol}; $c++ ){
$wc = $ws->{Cells}[$r][$c];
my $value = $wc ? $wc->Value : ''; $value =~ s/,//g;
push(@buf, $value );
}
print join(',', @buf), "n" if @buf;
}
}
}
}
}
これだけ。
今日は、ヨメと昼前には麻布十番納涼祭りに出かける予定だったので、時間がないかな、と思ってたのに、20分もかからずスクリプト完成。あとは現物合わせな例外処理だの作りこめば実戦投入できる。
いやもう、ほんと便利で、DBD:Excelの作者には大感謝!糞エクセルからまた一歩離れることができたゼ。ざまみろ。って、休みに仕事なんぞしてちゃいかんだろ、おれ。
大盛況おお賑わい大混雑の麻布十番納涼祭り。今年こそは国際バザールでちゃんと食おうと、開店前に並ぶ気合。ヨメはドイツ、わたしはブラジルに並び、フランクとシュラスコをがっつり食う。比較的すいていたラオスでおじいさんとおばあさんが上げていたスパイシーチキンまで堪能できた。ちなみに、3時開店のときにはもう行列となっていた。どれも美味でありました。大満足。
その後麻布十番側にいって、うろつく。オリオンビールとか赤ワインとか純米酒とか、馬肉ソーセージとか。しかし、今日の暑さ、人ごみにバテバテ。面白かったんだけど、ちょっと余裕がなかった、かも。
あとは、部屋でのたのた転がるかしらん。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」