-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.php
45 lines (35 loc) · 28.6 KB
/
test.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
include_once 'handler.php';
include_once 'formulas.php';
include_once 'expression.php';
$spreadsheets = array(//Spreadsheets
array(//Sheet
array("=AVG(100,200,300,400,500)",2), //Row
array("=(2^8 * A1) / B1 * B2","=A1"), //Row
array("=B3","This is B3"), //Row
array("=INPUT('input')", "=OUTPUT('output', INPUT('input'))"),
array("=A1", "=A2"),
array("=AVG(1,2,3,4,5,6,7)", "")
),
array(
array("=SHEET1!A1")
)
);
$formulas = new formulas();
$handler = ParserHandler::initSimpleJson($spreadsheets, $formulas);
$formulas->inputs['input'] = 'Injected value';
$handler->calc();
print_r(json_encode($spreadsheets) . "\n");
print_r(json_encode($handler->toArray()) . "\n");
print_r($spreadsheets[0]);
print_r($handler->toArray());
print_r($formulas->outputs);
$handlerJson = ParserHandler::initJson(json_decode('[{"title":"simple table 1","rows":[{"height":"18px","columns":[{"formula":"100+500","value":100,"class":"styleBold styleCenter"},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]}],"metadata":{"widths":["120px","120px","120px","120px","120px","120px"]}},{"title":"simple table 2","rows":[{"height":"18px","columns":[{"formula":"SHEET1!A1 + 100","value":200,"class":"styleBold styleCenter"},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]},{"height":"18px","columns":[{},{},{},{},{},{}]}],"metadata":{"widths":["120px","120px","120px","120px","120px","120px"]}}]'), $formulas);
$handlerJson->calc();
print_r($handlerJson->spreadsheets);
$xml = simplexml_load_string('<spreadsheets><spreadsheet title="simple table 1"><rows><row height="18px"><columns><column><formula>100+500</formula><value>100</value><class>styleBold styleCenter</class></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row></rows><metadata><widths><width>120px</width><width>120px</width><width>120px</width><width>120px</width><width>120px</width><width>120px</width></widths></metadata></spreadsheet><spreadsheet title="simple table 2"><rows><row height="18px"><columns><column><formula>SHEET1!A1 + 100</formula><value>200</value><class>styleBold styleCenter</class></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row><row height="18px"><columns><column></column><column></column><column></column><column></column><column></column><column></column></columns></row></rows><metadata><widths><width>120px</width><width>120px</width><width>120px</width><width>120px</width><width>120px</width><width>120px</width></widths></metadata></spreadsheet></spreadsheets>');
$handlerXml = ParserHandler::initXml($xml, $formulas);
$handlerXml->calc();
print_r($handlerXml->spreadsheets);