open openxml

openxml github



¿Cuánto ha captado Open XML? (8)

Ahora que Microsoft Office 2007 (y especialmente Excel) es compatible con Open XML, me resulta mucho más fácil trabajar con Office Automation. Algunas de las principales razones para esto son:

  • Mejor presentación;
  • No hay problemas de IPC flakey (es decir, alguien dejó Excel abierto en el cuadro de diálogo Guardar como, bloqueo);
  • No depende de Office en sí, ni de ningún componente externo;
  • Bastante fácil de escribir extensiones y consultas de Linq en C #;
  • Se puede utilizar en entornos de servidor sin problemas ni riesgos.

Dado que los usuarios de Office XP / 2003 pueden abrir archivos de Office 2007 con el paquete de compatibilidad, no veo ninguna razón para continuar usando los métodos antiguos de automatización o "OfficeML". Es una curva de aprendizaje, pero podría decirse que es la mejor opción hoy en día: es gratis, es confiable, y lo mejor de todo es que es el formato nativo utilizado por Office 2007 hoy en día y no necesita ningún truco estúpido para que funcione ( como adjuntar el tipo de contenido XLS a HTML como hicimos para XL2003, y tener XL2007 quejarse de una extensión incorrecta).

No diría que es un sustituto absoluto de VBA / VSTO; el problema es que generalmente forman parte de una solución en la que el requisito es integrarse con el entorno de Office. El uso de OOXML generalmente requiere que escriba una aplicación completa a su alrededor. Pero para la importación / exportación simple, que es probablemente para lo que se ha usado el 90% de la automatización en el pasado, definitivamente, OOXML es el camino a seguir.

Tengo curiosidad en cuanto a la cantidad de personas que utilizan Open XML (OOXML) en estos días (ya sea puro o por medio del SDK) en entornos cerrados y comerciales. Soy bastante consciente de lo que está pasando en la ''web pública'' (MSDN, OpenXMLDeveloper.org, etc.), pero me pregunto acerca de la experiencia de TAN personas, tanto buenas como malas.

¿La mayoría de las personas que optan por VBA y VSTO están a favor de trabajar directamente con los formatos OOXML? ¿Qué beneficios obtiene de OOXML que no obtiene del modelo de objetos? Me encantaría saber más sobre por qué lo está utilizando o por qué no lo está haciendo, para qué lo está utilizando, etc.

Solo estoy tratando de obtener una idea de la comunidad sobre OOXML como un enfoque hacia la automatización de documentos u otros usos. No estoy encontrando que los foros de la comunidad (este u otros) sean increíblemente activos con las preguntas y los usuarios (verifique el número de preguntas por etiqueta de esta publicación), así que me pregunto si soy una de las pocas que está utilizando OOXML extensivamente.


Estamos utilizando Open XML SDK para exportar a Excel. Tengo que decir que es bastante lento, así que tuvimos que hacer un poco de almacenamiento en caché por nuestra cuenta (para cadenas compartidas). La biblioteca es solo una representación de objeto del formato Open XML. A veces puede ser algo bueno, a veces no. Especialmente cuando tienes que saber muy bien el estándar Open XML porque el SDK no maneja nada por ti. Debe conocer todas las restricciones que trae el formato, debe saber qué elementos no puede omitir en xlsx o docx, etc. Le permite crear hojas de cálculo de Excel o documentos de Word inconsistentes, lo cual no es bueno. Bueno, es gratis al menos :) Mejor que nada.


Estoy haciendo el escenario de que el rendimiento de ventas para un país se entrega en PPT Deck utilizando Open XML


He utilizado Open Xml SDK para la generación de documentos en SharePoint, la generación PPTX para presentaciones personalizadas (extrayendo de XSLX para los datos) y para "construir" documentos compuestos a partir de múltiples segmentos de documentos.

El formato y el SDK son excelentes. No se preocupe en el servidor en ASP.NET o escenarios de SharePoint, y gran velocidad. No he encontrado demasiados escenarios en los que el SDK o el "XML de fuerza bruta" no puedan lograr un objetivo. Una instancia es la protección con contraseña y DRM para documentos, pero estos son más casos de esquina. Estoy de acuerdo con una Aaronaught que esta no es una solución exclusiva, pero SharePoint, VSTO y otros son herramientas en el cinturón de herramientas para las soluciones de generación de documentos.


Hemos migrado de Word Interop a Open XML muy recientemente.

Nuestra aplicación se utiliza para crear facturas en formato Word y pdf. Cuando se usó Interop, una factura de tamaño decente tardó entre 5 y 10 minutos en generarse. Ahora, utilizando OpenXML y SSRS, el tiempo se ha reducido a aproximadamente 30 segundos. La única área de problemas con Word fue que algunas características no eran compatibles con versiones anteriores de Word 2010 a 2007 y eso llevó algún tiempo para arreglarlas y ponerlas en marcha. Como crear la Tabla de Contenidos, fusionar documentos, etc.

Aparte de eso, creo que Linq, MSDN y el blog de Eric White son suficientes para que vayas en la dirección correcta.


Las bibliotecas como Simple OOXML también pueden ayudar enormemente con la curva de aprendizaje.


Lo he usado para analizar archivos pptx, buscando comentarios especiales en formas. Estos comentarios son enlaces a otros recursos (más a menudo de uri, archivos PDF, etc.). Luego uso el software deepzoom para representar la pptx y luego la uri dentro de la forma. Divertido, pero lento. Úselo para ayudar con la investigación y una forma "novedosa" de mirar carteles. Pero esto no es LOB.


Miré mucho esta tecnología, programé en VBA, pero era demasiado complejo para mis necesidades. Hay algunas cosas buenas sobre el uso de las que mi aprendizaje electrónico podría beneficiarse, como Linq y XML, pero la barra para pasar de VBA a los formatos subyacentes es demasiado alta y no tengo el lujo del tiempo y el dinero. sería necesario invertir en el aprendizaje de los formatos de VS.Net y Open Office XML.

Pero la única cosa con la que creo que realmente ayudaría es el etiquetado de contenido de PowerPoint para un LMS.