示例#1
0
<?php

namespace infrajs\excel;

use infrajs\access\Access;
use infrajs\ans\Ans;
use infrajs\config\Config;
Access::test(true);
$ans = array();
$data = Xlsx::init('-test-akiyatkin/resources/test.xlsx');
if (!$data) {
    return Ans::err($ans, 'Cant read test.xlsx');
}
$data = Xlsx::init('-test-akiyatkin/resources/test.csv');
if (!$data) {
    return Ans::err($ans, 'Cant read test.csv');
}
if (sizeof($data['childs']) != 1) {
    return Ans::err($ans, 'Cant read test.csv ' . sizeof($data['childs']));
}
$num = ini_get('mbstring.func_overload');
if ($num != 0) {
    $ans['class'] = 'bg-warning';
    return Ans::err($ans, 'mbstring.func_overload should be 0, not ' . $num);
} else {
    $data = Xlsx::get('-test-akiyatkin/resources/test.xls');
    if (sizeof($data['childs'][0]['data']) != 30) {
        return Ans::err($ans, 'Cant read test.xls ' . sizeof($data['childs'][0]['data']));
    }
}
return Ans::ret($ans, 'csv, xls, xlsx read ok!');
示例#2
0
文件: tester.php 项目: infrajs/excel
use infrajs\excel\Xlsx;
use infrajs\router\Router;
use infrajs\ans\Ans;
if (!is_file('vendor/autoload.php')) {
    chdir('../../../');
    require_once 'vendor/autoload.php';
    Router::init();
    //Требуется автоматическая установка
}
$ans = array();
//Три уровня разбора данных
//1 Минимум требований к структуре Excel документа, данные "как есть"
$data = Xlsx::parse('vendor/infrajs/excel/test.xlsx');
if (sizeof($data) != 22) {
    return Ans::err($ans, 'Некорректный результат Xlsx::parse ' . sizeof($data));
}
//2 Простая структура - Распознаются заголовки таблицы, описание таблицы, структура групп. Можно применять Xlsx::runPoss и Xlsx::runGroups
$data = Xlsx::get('vendor/infrajs/excel/test.xlsx');
if (sizeof($data) != 7) {
    return Ans::err($ans, 'Некорректный результат Xlsx::get ' . sizeof($data));
}
//3 Оптимизировання структура. Обязательна колонка Артикул, объединение групп. Большой список опций вторым аргументом
$data = Xlsx::init('vendor/infrajs/excel/test.xlsx');
/*echo count($data);
echo '<pre>';
print_r($data);
exit;*/
if (sizeof($data['childs']) != 1) {
    return Ans::err($ans, 'Некорректный результат Xlsx::init ' . sizeof($data));
}
return Ans::ret($ans);
示例#3
0
文件: index.php 项目: infrajs/excel
        if ($fdata['ext'] && $fdata['ext'] != $fd['ext']) {
            return;
        } elseif ($result) {
            //Расширение не указано и уже есть результат
            //Исключение.. расширение tpl самое авторитетное
            if ($fd['ext'] != 'tpl') {
                return;
            }
        }
        $result = $file;
    }, scandir(Path::theme($folder)));
    if (!$result) {
        return false;
    }
    return Path::theme($folder . $result);
}, array($fdata['path']), isset($_GET['re']));
$ans = array('src' => $isrc);
if (!$src) {
    if (!Load::isphp()) {
        header('HTTP/1.0 404 Not Found');
    }
    return;
}
$fdata = Load::srcInfo($src);
if (in_array($fdata['ext'], array('xls', 'xlsx', 'csv'))) {
    $ans = Xlsx::get($src);
    return Ans::ans($ans);
}
if (!Load::isphp()) {
    header('HTTP/1.0 400 Bad Request');
}