Альтернатива Excel, использующая JavaScript

Я ищу очень простую альтернативу Excel, кросс-платформенную, с открытым исходным кодом и использующую JavaScript вместо ужасного языка Excel (как бы он ни назывался). Так что каждая ячейка может иметь скрипт с читаемым синтаксисом, отступами и т
. д. Также было бы неплохо иметь поддержку html и возможность использовать библиотеки javascript/css для рендеринга графики, диаграмм и т. д.

Ответы (1)

Если вы хотите попробовать надстройку, есть способ использовать Javascript, HTML и CSS в Excel. Он называется Funfun, и в нем есть онлайн-редактор со встроенной электронной таблицей, поэтому переход между веб-сайтом и Excel не вызывает затруднений.

Вот диаграмма, которую я сделал с Highcharts:

https://www.funfun.io/1/#/edit/5a61c190404f66229bda3f0f

В этом примере я взял диаграмму из демонстрации Highchart и заменил данные своими. Я храню свои данные во встроенной электронной таблице, и благодаря файлу json я могу использовать их в своем коде javascript.

Вот как я получаю свои данные из электронной таблицы с файлом json:

{
    "data": "=A1:E16"
}

Я храню его в своем script.js в правильном формате, поэтому я могу напрямую загрузить его в Highcharts (для чисел вы должны преобразовать свои данные в числа с плавающей запятой или int):

var data = [];

for (var i = 1; i < $internal.data.length; i++)
  data.push(
    {
      x: parseFloat($internal.data[i][2]),
      y: parseFloat($internal.data[i][3]),
      z: parseFloat($internal.data[i][4]),
      name: $internal.data[i][1],
      country: $internal.data[i][0]
    }
  );

После того, как вы выбрали все параметры для своей диаграммы, вы можете добавить свои данные:

series: [{
        data: data
    }]

Когда вы будете довольны своей диаграммой, вы можете напрямую загрузить ее в Excel, вставив URL-адрес в надстройку Funfun . Вот как это выглядит на моем примере:

окончательный

Конечно, вы можете использовать другую библиотеку, кроме Highcharts, есть много мощных библиотек для визуализации данных, таких как charts.js и D3.js.

Раскрытие информации: я разработчик Funfun.