Aug 29

前几天给财物做一个支付的统计报表,要求生成固定格式的excel 文件。当然就想到用apache poi了。

http://poi.apache.org/

不过你得一个先生成一个workbook,然后create一个sheet,再添加一个row,最后再添加cell,然后你就可以往cell里写数据了。代码那个多啊。真是丑得没法看。
后来找到这个jxls项目。

http://jxls.sourceforge.net/

真不错。其实jxls就是类似Freemarker的模板引擎。你只要提供一个.xls的模板(template),模板里写一些标签。然后把数据放到Map里让jxls填充一下就ok了。这样就根本不用poi的api去调xls的样式颜色啊。这个都是太麻烦了。

[more..]

Aug 29

昨天更新了一个Freebsd服务器

FreeBSD 7.0-RELEASE-p2 FreeBSD 7.0-RELEASE-p2 #0: Wed Jun 18 07:33:20 UTC 2008 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386

dev# portupgrade -a

更新之后发现apache22不能restart了。原来是mod_python3挂了。发现被删除了不知道为啥。所以就重装。

dev# cd /usr/ports/www/mod_python3
dev# make install clean

然后就出错了。详细错误信息忘了记下来了。其中有这么一行是这样的。

apxs:Error: Command failed with rc=65536

然后google这个错误居然在trac的wiki里找到了。

http://trac.edgewall.org/wiki/TracOnOsxMacPorts

这里是macports里的mod_python3,感觉应该一样吧。马上按里的的方法修改。问题依旧啊。:(
然后又在上面这个页面时提到的一个链接的评论里找到了答案。
http://boorad.weebly.com/1/post/2008/01/wrastling-macports-mod_python25.html

这人估计和我一样找到了这里。他给了个mailist的解决方法

[more..]

Aug 29
现在安装的autounmask有个bug,记得2007.0的时候是没有问题的。现在的2008.0装过几次都是有这个bug的。
详见 : http://bugs.gentoo.org/show_bug.cgi?id=216484

原因就是autounmask脚本没有正确的取到系统的arch. /usr/bin/autounmask

my $arch                = $pxs->getArch();

这里返回的是"~", 其中一种方法就是把你的arch写在这里。改成

my $arch                = '~amd64';

x86的改成

my $arch                = '~x86';

当然你也可以不修改这个脚本。就是升级一下dev-perl/PortageXS到0.02.08
不过你要手动添加以下内容到/etc/portage/package.keywords

dev-perl/PortageXS ~amd64

[more..]