本帖最后由 LinkJ 于 2011-01-06 11:38:22 编辑

解决方案 »

  1.   

    PhpExcel.class.php 这个类从哪弄的?
      

  2.   


    //加载PHPExcel类
    include "PHPExcel_1.7.1/Classes/PHPExcel.php";
    include "PHPExcel_1.7.1/Classes/PHPExcel/Writer/Excel2007.php";//读取配置信息
    include("config.php");
    //--------------------处理榜单内容--------------------//
    //创建PHPExcel对象
    echo date("H:i:s")." 创建排行榜单Excel\n";
    $toplistExcel = new PHPExcel();
    $start_id = 0;//设置文件信息
    echo date("H:i:s")." 设置文件信息\n";
    $toplistExcel->getProperties()->setCreator("A8 Music");
    $toplistExcel->getProperties()->setLastModifiedBy("A8 Music");
    $toplistExcel->getProperties()->setTitle("广东移动MM项目榜单歌曲列表");
    $toplistExcel->getProperties()->setSubject("排行榜单");
    $toplistExcel->getProperties()->setDescription("按周发布榜单内容,共计9张");
    //$toplistExcel->getProperties()->setKeywords("榜单 移动 MM A8");
    //$toplistExcel->getProperties()->setCategory("文档");$index=0;
    //对榜单做循环,一张榜单一个工作表
    foreach ($toplist_array as $toplist) {
        $list_name = $toplist[1];
        $list_id = $toplist[4];
        //默认只有一张工作表,需要多张工作表则必须手工create
        if ($index > 0) {
            $toplistExcel->createSheet();
        }
        $toplistExcel->setActiveSheetIndex($index);
        //设置工作表名称
        $toplistExcel->getActiveSheet()->setTitle($list_name);
        //第一行题头
        $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(0, 1, "排序ID");
        $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 1, "内容ID");
        $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(2, 1, "歌曲名称");    //查询分类下的歌曲列表
    /*
        $sql = " select a.song_id, b.song_name, a.sort from mm_class_ext a left join song_lib b ";
        $sql .= " on a.song_id = b.song_id where a.class_id = (select class_id from mm_class ";
        $sql .= " where parent_id = $list_id order by class_id desc limit ".$start_id.",1) order by a.sort";
    */    $class_sql = " select a.song_id,a.sort from mm_class_ext a ";
        $class_sql .= "  where a.class_id = (select class_id from mm_class ";
        $class_sql .= " where parent_id = $list_id order by class_id desc limit ".$start_id.",1) order by a.sort";    $result = mysql_query($class_sql, $link);
        while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
            $song_id = $row[0];
            $song_sort = $row[1];
            $song_sql="select song_name_usual from song_lib where song_id='".$song_id."'";
            //mysql_query("set names utf8");
    /*
            mysql_query("Set character_set_connection=utf8");
            mysql_query ("Set character_set_results=utf8");
           mysql_query("Set character_set_client=binary");
    */
       //     mysql_query("set names utf8",$basic_link);
            $song_result=mysql_query($song_sql,$basic_link);
            $song_row=@mysql_fetch_array($song_result);
            if($song_row){
             $song_name=$song_row[0];
            }
            $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $song_sort + 1, $song_sort);
            $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(1, $song_sort + 1, "a8".$song_id);
            $toplistExcel->getActiveSheet()->setCellValueByColumnAndRow(2, $song_sort + 1, $song_name);
        }    $index += 1;
    }//设置文件打开时的默认工作表
    $toplistExcel->setActiveSheetIndex(0);//保存为2007格式
    echo date("H:i:s")." 保存为2007格式的Excel文件\n";
    $toplistWriter = new PHPExcel_Writer_Excel2007($toplistExcel);
    $toplistWriter->save("toplist_".date("Ymd").".xlsx");
    echo date("H:i:s")." 保存为2007格式的Excel\n";
    $recommendWriter = new PHPExcel_Writer_Excel2007($recommendExcel);
    $recommendWriter->save("album_".date("Ymd").".xlsx");
    散源码。。