Excel API de JavaScript Parte 1: Visão geral e Comparação

X

Privacidade & Cookies

Este site utiliza cookies. Continuando, você concorda com o uso deles. Saiba mais, incluindo como controlar cookies.Consegui!

propagandas

tenho passado tempo nos últimos meses experimentando com a nova API JavaScript Excel.

esta é a primeira de uma série planejada de posts examinando a JS-API do ponto de vista de um desenvolvedor de escritório do Excel.

a principal vantagem da API JS é que ela permite que você escreva código que funciona Para Windows Excel, Mac Excel, Excel Online e Excel em IOS. A API JS ainda é imatura, mas está passando por um rápido desenvolvimento pela equipe de extensibilidade do Microsoft Office, com novos lançamentos da API chegando aproximadamente trimestralmente.

a API JS utiliza tecnologias JavaScript/TypeScript baseadas em navegador e HTML e CSS. Os seus principais objectivos são::

  • para trabalhar em uma grande variedade de Pontos finais (móveis, tablet, nuvem, desktop).
  • para atingir os desenvolvedores de hoje que trabalham principalmente ou exclusivamente usando tecnologias web .

a API executa assíncronamente, colocando em fila as interações da API com o Excel até que você as solicite para serem executadas em um lote (contexto.SINCRONIZACAO()).JavaScript & TypeScript

para os desenvolvedores de VBA ou C JavaScript é uma linguagem estranha, exasperante mas surpreendentemente poderosa. Para mencionar algumas diferenças:

  • variáveis não têm realmente tipos e são sensíveis à capitalização. O escopo das variáveis (chamado escopo Lexical) é seriamente estranho e parece muitas vezes capturar até mesmo desenvolvedores experientes JavaScript.
  • Arrays não são realmente arrays e só têm uma dimensão, então você rapidamente aprende sobre arrays. Eles não têm limites superiores fixos e podem ser esparsos. Eles têm métodos poderosos como mapa, reduzir, cortar e ordenar. (Mas é realmente difícil fazer js array funcionar da mesma forma que um Excel sort!)
  • funções são cidadãos de primeira classe – você pode passá – las ao redor como variáveis – funções anônimas/Lambda são totalmente suportadas-você realmente precisa começar sua cabeça em torno disso!
  • processamento Assíncrono é tratado por coisas chamadas Promessas que podem ser combinadas com alguma dificuldade (esta situação é conhecida como a Pirâmide de Doom)
  • JavaScript como uma linguagem ainda está mudando muito rapidamente e tem características que podem ou não ser suportado pelo particular navegadores
  • essa popularidade é, em parte, construídas e alimentadas por muitos muito poderoso e livremente disponível e frameworks (JQuery, AngularJS, …)

E pelo jeito o JavaScript não é uma linguagem de script versão do Java: é um idioma completamente diferente.

TypeScript é uma tentativa da Microsoft para corrigir algumas das falhas de JavaScript mais flagrantes.
TypeScript is basically a Transpiler-it compiles TypeScript into JavaScript so that just about anything that can execute JavaScript can also execute transpiled TypeScript.
duas das principais vantagens do TypeScript são::

  • você pode atribuir tipos a variáveis e elas têm escopo sensível!
  • você pode usar Async aguardar em vez de promessas que torna o seu código muito mais legível e evita a Pirâmide da desgraça.

Excel API Tecnologias Comparado

Existem 4 principais famílias de Excel APIs:

‘C’ XLL API

Esta API é o mais bem integrado e menor publicamente disponíveis interface para o Excel:

  • Melhor desempenho API
  • interface de Baixo nível, requer programação C memória e habilidades de gestão.
  • Visual Studio IDE
  • funciona no processo Excel.
  • Mais capacidade para UDFs (multi-threaded, assíncrona, RTD, Cluster, etc.)
  • Só cobre um subconjunto do Modelo de Objeto do Excel
  • Limitado INTERFACE nativa de suporte
  • Usado como uma camada de fundação por muitos outros produtos/plataformas/linguagens (XLL Plus C++, Excel DNA .NET, Suplemento Express .NET, PyXLL Python, FCell F# …)
  • área de Trabalho do Windows apenas
  • Aplicação de suplemento apenas em nível de
  • Pode usar todos os C e C++ estruturas (Standard Template Library, IMPULSIONAR o …)

COM Excel e a API de Automação

Esta API é o mais rico e o mais amplamente utilizado API

  • línguas Primárias VBA e VB6
  • Bom desempenho
  • mais Amplo suporte de modelo de objeto
  • Suporte single-threaded síncrona UDFs
  • é Executado no Processo do Excel
  • Windows
  • Mac OS Desktops/Notebooks (mas o VBA só com alguns diferenças em relação ao Windows VBA)
  • Macro recorder fornece um ponto de entrada baixo
  • Ide embutido mas antigo para o Windows VBA
  • pode ser incorporado num documento ou usado como um addin ao nível da aplicação.
  • VBA praticamente inalterada por muitos anos e tem apenas um limitado e morrendo framework

Interoperabilidade API

Esta API adiciona um adicional .NET camada de interoperabilidade no topo da COM/de Automação de interface. Idealmente, este teria sido um útil stopgap até que uma interface adequada.net Excel foi desenvolvido, mas infelizmente isso nunca aconteceu.

  • desempenho Ruim
  • é Executado em processo separado
  • Suporta .NET framework e idiomas
  • Windows só
  • Visual Studio IDE
  • Principalmente a nível de aplicação, mas pode ser vinculado a um documento usando o VSTO
  • Não é adequado para UDFs
  • Microsoft está oferecendo é o VSTO

Produtos como o Excel DNA e do Suplemento de Expressar apoio tanto a Interoperabilidade .Rede mundial e o ‘C’ API para permitir adequado suporte UDF, melhor desempenho, mantendo a riqueza .NET framework.

Excel JS-API Release 1.4

the new kid on the block! Esta é a API que está atualmente sendo desenvolvida ativamente pela Microsoft, por isso é um alvo em movimento. Os comentários abaixo refletem a versão 1.4 da API em fevereiro de 2017.

  • o seu código corre inalterado através de múltiplos objectivos.
    • Mas isso pode resultar em menor denominador comum de apoio
  • Suporta muitos frameworks de JavaScript
  • Funciona melhor com TypeScript
  • Bom Web oferece Suporte a
  • Escritório de suporte de arquivo de
  • é Executado em um navegador separado do processo
  • Requer o Internet: sem capacidade offline
  • Não há suporte para UDF actualmente
  • desempenho Muito ruim
  • Direcionado a profissionais desenvolvedores web
  • suporte de modelo de Objeto
    • Limitado, mas em rápida expansão
    • pasta de trabalho Único apenas: não é possível copiar entre, abrir, fechar ou salvar pastas de trabalho
    • controle Limitado de Cálculo e Actualização do Ecrã
    • Não Copiar Colar Especial
  • a Nuvem Híbrida/Application/Livro Nível
  • em Lote o processamento Assíncrono apenas

Qual o Próximo passo?

minhas próximas postagens no blog js se focarão no desempenho da JS-API.

se quiser aprender mais sobre a JS-API, recomendo a construção de Admins de escritório por Michael Zlatkovsky, que é um desenvolvedor da equipe de extensibilidade do Microsoft Office.

You might also like

Deixe uma resposta

O seu endereço de email não será publicado.