Esempio n. 1
0
function process_file($filename, &$tempname)
{
    global $_SGLOBAL;
    $isfile = 1;
    $data = new Spreadsheet_Excel_Reader();
    //exit('adsf');
    $data->setOutputEncoding('gbk');
    $data->read($filename);
    $tempname = date("Y-m-d") . '_download_' . rand() . '.xls';
    $filedownload = S_ROOT . './plugin/invite/download/' . $tempname;
    //初始化一个反馈结果的文件
    require_once S_ROOT . './plugin/invite/phpwritexcel/Writer.php';
    $workbook = new Spreadsheet_Excel_Writer($filedownload);
    $worksheet =& $workbook->addWorksheet('Sheet1');
    $worksheet->setInputEncoding('utf-8');
    $format_column =& $workbook->addformat(array('Size' => 9, 'Bold' => 1));
    //读取结果文件的信息
    $rows = 0;
    $recordindex = array('realname', 'sex', 'birthday', 'otheremail', 'academy', 'collegeid', 'class', 'mobile', 'unit');
    $record = array('好友姓名(必填)', '好友性别', '生日(8位)', '邮箱(必填)', '学院', '学号', '班别', '手机(必填)', '所在单位', '备注');
    $dataindexinfo = array();
    encode_record(&$record);
    input_downloadfile($worksheet, $rows, $record, $format_column);
    for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
        //以下注释的for循环打印excel表数据
        $datainfo = array();
        //$datainfo = array('name', 'sex', 'birthday', 'otheremail', 'academy', 'collegeid', 'class', 'mobile', 'unit');
        for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
            $datainfo[$j - 1] = $data->sheets[0]['cells'][$i][$j];
            $dataindexinfo[$recordindex[$j - 1]] = $data->sheets[0]['cells'][$i][$j];
        }
        //var_dump($datainfo[0]);
        //检查记录的正确性
        $nopass = checkinfo($datainfo[0], $datainfo[2], $datainfo[3], $datainfo[7], $isfile);
        if (!empty($nopass)) {
            //没有通过的记录加入到一个新文件中
            $datainfo[$j - 1] = $nopass;
            encode_record(&$datainfo);
            //var_dump($datainfo);
            //var_dump($rows);
            input_downloadfile($worksheet, &$rows, $datainfo, $format_column);
            continue;
        }
        //邀请处理
        //var_dump($dataindexinfo);
        inserttable('baseprofile', $dataindexinfo, 1);
        //var_dump($datainfo);
        invite_alumni($datainfo);
    }
    $workbook->close();
    return $rows;
}
Esempio n. 2
0
function process_file($filename, &$tempname)
{
    global $_SGLOBAL;
    $isfile = 1;
    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('UTF-8');
    $data->read($filename);
    $tempname = $_SGLOBAL['timestamp'] . '_download_' . rand() . '.xls';
    $filedownload = S_ROOT . './plugin/invite/download/' . $tempname;
    //初始化一个反馈结果的文件
    require_once S_ROOT . './plugin/invite/phpwritexcel/Writer.php';
    $workbook = new Spreadsheet_Excel_Writer($filedownload);
    $worksheet =& $workbook->addWorksheet('Sheet1');
    $worksheet->setInputEncoding('UTF-8');
    $format_column =& $workbook->addformat(array('Size' => 9, 'Bold' => 1));
    //读取结果文件的信息
    $rows = 0;
    $recordindex = array('realname', 'sex', 'birthday', 'otheremail', 'academy', 'startyear', 'collegeid', 'class', 'mobile', 'unit');
    $record = array('好友姓名(必填)', '好友性别', '生日(8位)', '邮箱(必填)', '学院', '入学年份', '学号', '班别', '手机(必填)', '所在单位', '备注');
    $dataindexinfo = array();
    encode_record(&$record);
    input_downloadfile($worksheet, $rows, $record, $format_column);
    for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
        $datainfo = array();
        for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
            $datainfo[$j - 1] = $data->sheets[0]['cells'][$i][$j];
            $dataindexinfo[$recordindex[$j - 1]] = $data->sheets[0]['cells'][$i][$j];
        }
        $nopass = checkinfo($datainfo[0], $datainfo[3], $datainfo[8]);
        if (!empty($nopass)) {
            $datainfo[$j - 1] = $nopass;
            encode_record(&$datainfo);
            input_downloadfile($worksheet, &$rows, $datainfo, $format_column);
            continue;
        }
        $dataindexinfo[inviter] = $_SGLOBAL[supe_uid];
        $dataindexinfo[usertype] = '6';
        inserttable('baseprofile', $dataindexinfo, 1);
        invite_alumni($datainfo);
    }
    $workbook->close();
    return $rows;
}