Download the PHP package sobolevwladimir/vexcel without Composer

On this page you can find all versions of the php package sobolevwladimir/vexcel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package vexcel

Позволяет использовать формулы excel в вашем приложении.

Описание:

Формулы в эксель - это прекрасное изобретение,которое позволяет пользователям производить рассчеты без (помощи) программистов. Нередко возникают ситуации, когда такой функционал нужен в вашем приложении! Эта библиотека позволит вам использовать выражения, синтаксически похожие на формулы из excel, с той лишь разницей, что вместо координат ячеек вы сможете использовать свои переменные.

Демо

http://vexcel.vladimir-sobolev.ru

Особенности:

Синтаксис

Строка

Начинается и заканчивается одинарными или двойными кавычками. Пример: "моя строка", 'моя строка'

Число

Число бывает двух видов: Обычное и дробное. Дробные числа пишутся через точку.

Пример целого числа: 1200

Пример дробного числа: 3.2

Переменная

Название переменной должно начинаться с буквы и может содержать в своем названии буквы, цифры и нижнее подчеркивание. Пример: Вася, Моя_ПЕР

Переменные также могут включать любые символы включая пробел, если название переменной обернуто в '$' или '\'. Пример: $Моя ПЕР$, \Моя ПЕР\

Функция

Название переменной должно начинаться с буквы и может содержать в своем названии буквы, цифры и нижнее подчеркивание. В конце названия функции идет круглая скобка, после которой передаются аргументы этой функции, разделенные знаком: точка с запятой. Функция заканчивается после закрывающей скобки. Пример: МОЯ_ФУНКЦИЯ(ПЕР1; ПЕР2)

Установка

Начало работы

Подключение:

Далее нам можно преобразовать нашу формулу в абстрактное синтаксическое дерево (Далее АСТ).

` Для получения значения вызовем функцию calculate():

Почему тут столько шагов? Т.к сам расчет производится в АСТ, вам достаточно один раз распарсить формулу, а потом, меняя на ходу значения переменных, рассчитать значение уже для нового поля (про переменные ниже ). Например: `

Использование переменных в формулах:

Для использования переменных, нам необходимо объяснить системе: откуда брать значения переменных. Для этого создайте класс, реализующий интерфейс ValueRepository. Например, давайте представим, что у нас есть переменные, названия которых соответствуют числам ("ПЕРЕМЕН_ОДИН"=1, "ПЕРЕМЕН_ДВА"=2, "ПЕРЕМЕН_ТРИ"=3 и тд). Тогда класс будет иметь следующий вид:

Функция getValueByIdentifier принимает идентификатор переменной (по умолчанию идентификатор равен имени переменной. cм. подробнее: хранение формул в БД ) и возращает значение.

Далее мы передаем экземпляр этого класса для подсчета:

Использование функций:

На данный момент реализованы следующие функции по умолчанию: 'ЕСЛИ', 'НЕ', 'ОКРУГЛВЕРХ', 'ОКРУГЛНИЗ'. Если вам необходимо реализовать свои функции, то создайте класс, унаследованный от FunctionBuilder и переопределите метод "build":

Хранение формул в БД

Если в вашей формуле есть переменные, название которых могут менятся со временем (Как пример: ваши переменные хранятся в БД), то имеет смысл хранить не саму формулу, введеную пользователем, а АСТ, и в нем хранить постоянные идентификаторы на эти переменные. Тогда при преобразовании дерева обратно в формулу названия переменных будет востановленно по идентификаторам.

Для этого: 1) Создайте класс, реализующий интерфейс VariableRepositoryInterface и передайте его в конструктор Parser(). 2) Преобразуйте формулу в АСТ путем вызова $parser->parse(); 3) Это дерево сохраните в виде json в бд (json_encode($ast)).

Чтобы преобразовать json обратно в синтаксическое дерево, выполните следующую процедуру:

Далее можно преобразовать это дерево обратно в формулу:


All versions of vexcel with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sobolevwladimir/vexcel contains the following files

Loading the files please wait ....