显示标签为“GNU”的博文。显示所有博文
显示标签为“GNU”的博文。显示所有博文

星期三, 二月 14, 2007

用PHP创建EXCEL文件的最简单的方法

Powered by suchasplus 随意转载,转载时请标明出处

每个人都知道phpMyAdmin可以导出文件为Excel格式,但是phpMyadmin只能导出.csv文件(即逗号分割文件),但是这并不是真正的Excel文件格式.如果你真的对PHP编程有兴趣并且需要导出为真正的Excel格式,就请查看这篇文章。

PHP导出XLS的例子.

1. 为XLS写函数



function xlsBOF() {
echo
pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}

function
xlsEOF() {
echo
pack("ss", 0x0A, 0x00);
return;
}

function
xlsWriteNumber($Row, $Col, $Value) {
echo
pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo
pack("d", $Value);
return;
}

function
xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo
pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo
$Value;
return;
}


2. 向浏览器发送header去下载.

// Query Database
$result=mysql_db_query($dbname,"select id,prename,name,sname,grade from appdata where course='$courseid' and sec='$section'")

// Send Header
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=$courseid-$sec.xls ");
header("Content-Transfer-Encoding: binary ");

// XLS Data Cell

xlsBOF();
xlsWriteLabel(1,0,"Student Register $semester/$year");
xlsWriteLabel(2,0,"COURSENO : ");
xlsWriteLabel(2,1,"$courseid");
xlsWriteLabel(3,0,"TITLE : ");
xlsWriteLabel(3,1,"$title");
xlsWriteLabel(4,0,"SETION : ");
xlsWriteLabel(4,1,"$sec");
xlsWriteLabel(6,0,"NO");
xlsWriteLabel(6,1,"ID");
xlsWriteLabel(6,2,"Gender");
xlsWriteLabel(6,3,"Name");
xlsWriteLabel(6,4,"Lastname");
$xlsRow = 7;
while(list(
$id,$prename,$name,$sname,$grade)=mysql_fetch_row($result)) {
++
$i;
xlsWriteNumber($xlsRow,0,"$i");
xlsWriteNumber($xlsRow,1,"$id");
xlsWriteLabel($xlsRow,2,"$prename");
xlsWriteLabel($xlsRow,3,"$name");
xlsWriteLabel($xlsRow,4,"$sname");
$xlsRow++;
}
xlsEOF();
exit();


星期四, 二月 08, 2007

开源应用软件目录 opensource application catalog for Enterprise


开源在企业应用领域已经越来越受到重视,Opteros公司发布了一份最新的”开源目录2007″, 旨在帮助企业了解开源项目的优势. huihoo的Allen一直在做类似的事情.

我给自己总结了一份开源软件服务列表,避免发生重复发明轮子的事情.

这不是sourceforge.catalog的重复,只是我了解中利于企业或者组织使用的免费开源软件或者服务.




    操作系统(Operating system)
  • RedHat Enterprise Server / CentOS

  • Ubuntu Server

  • Slackware



  • 邮件系统 (mail system)
  • Postfix

  • qmail



  • Web服务器(http server)
  • Apache

  • lighttpd



  • 数据库(Database)
  • PostgreSQL

  • MySQL

  • SQLite



  • 企业门户(CMS.Portal)
  • Joomla

  • xoops

  • Plone

  • dedecms

  • PHPNuke



  • 搜索引擎/蜘蛛
  • Lucene

  • Nutch

  • IBM OmniFind Yahoo! Edition http://omnifind.ibm.yahoo.net/



  • 企业内容和知识管理/Blog.Wiki
  • MediaWiki

  • WordPress WP中文

  • eZpublish

  • Group-Office



  • 客户关系管理(CRM)
  • C3CRM

  • SugarCRM

  • VtigerCRM

  • opentaps CRM

  • openCRX CRM



  • 企业资源计划(ERP)
  • Compiere ERP

  • CK-ERP



  • 电子商务(e-business)
  • OFBiz



  • 分析, 报告和数据仓库
  • Mondrian



  • 知识管理和eLearning(数字学习)
  • Moodle



  • 商业智能(Business Intelligence)
  • Bizgres

  • Pentaho

  • OpenI

  • SpagoBI



  • 管理软件(Management Software)
  • Hyperic HQ




Thanks To Huihoo.com





星期日, 二月 04, 2007

ubuntu upstart

      The Ubuntu replacement, which is installed by default in Edgy, is called Upstart, and is intended to enable Ubuntu systems to better navigate dependencies among the services it's responsible for launching. In our tests, we did notice somewhat shorter startup and shutdown times, which, for now, are the primary advertised benefit of Upstart.

在DL.HHF的Athlon64上装了ubuntu6.10-Desktop-i386版本,安装感觉很好...比我的slackware 10.2好多了,不愧是desktop edition.难怪那么多人都用ubuntu,装个mplayer只需要sudo apt-get install mplayer,剩下的就是去喝茶了.


虽然是那么好用的linux desktop,但是我用起来没有安全感。怀念slackware完全tui的模式,自己可以掌控一切的感觉。
Linux不是Windows的替代品,她就不是为替代windows而生的,如果你喜欢折腾并且能折腾,她会是你最好的选择.


用upstart替代init或许是个不错的选择,但是是否太激进了?而且不是用在LTS版本中,让人对其不放心.之前有消息说FedoraCore6中也放弃了init,但是我没具体看到这样的消息


ps:刚把debian3.1r4的2个DVD ISO下载回来..回家继续折腾

Relative Links: