# Apache OpenOffice Calc

Apache OpenOffice Calc es una hoja de cálculo libre y de código abierto compatible con Microsoft Excel que forma parte de la suite ofimática Apache OpenOffice. Como con todos los componentes de la suite Apache OpenOffice, Calc puede usarse a través de una variedad de plataformas, incluyendo Mac OS X, Windows, GNU/Linux, FreeBSD y Solaris, y está disponible bajo licencia LGPL.

## Generalidades

Calc es una hoja de cálculo similar con un rango de características más o menos no presentes en Excel, incluyendo un sistema que automáticamente define series para representar gráficamente basado en la disposición de los datos del usuario. Calc también es capaz de exportar hojas de cálculo como archivos PDF, cuenta con filtros, autofiltros y además puede realizar agrupaciones en tablas dinámicas que Lotus 123 en sus versiones anteriores no hacía, posiblemente la versión 9.8 de Lotus 123 tenga estas posibilidades.
Dado que, desde el punto de vista de la programación de macros, Calc no es compatible con el modelo de objetos de Excel (aunque sí con prácticamente todo su repertorio de funciones BASIC), no es tan vulnerable a los virus de macros (o macrovirus) como el producto de Microsoft. Además, dado que su difusión es bastante menor, no hay tanto interés por parte de los creadores de software malicioso (malware) de atacarlo específicamente.
Calc puede abrir y guardar las hojas de cálculo en el formato de archivos de Microsoft Excel. El formato por defecto de Apache OpenOffice 2.0 Calc se puede fijar para que sea el de Microsoft Excel, o el formato Open Document Format (ODF) de la organización OASIS. Calc también apoya una amplia gama de otros formatos, tanto para abrir y guardar archivos.
Apache OpenOffice es software libre. Cualquier persona puede hacer mejoras y luego compartirlas para el disfrute de todos. A medida que continúa creciendo la base de usuarios y desarrolladores de Apache OpenOffice, las características y mejoras pueden ser agregadas al paquete a mayor ritmo.
En algunos casos, Calc carece de asistentes para acceder a ciertas características avanzadas asociadas a productos de la competencia como capacidades estadísticas como el soporte de la barra de error en los gráficos, y el análisis de regresión polinómico, sin embargo esos cálculos se puede realizar incorporando manualmente las funciones y las relaciones más algunos macros. Otra aplicación FOSS llamada Gnumeric proporcionaría un acceso más fácil en estas características del análisis estadístico exponiéndolas a los usuarios con asistentes.

## Crítica sobre el rendimiento

La versión 2.0 de Calc tenía problemas al manejar hojas de cálculo muy grandes (20 000 filas con 100 columnas). Esto es en parte debido al formato XML para manejar entradas en las celdas. Un hacker de Novell Linux y el GNOME, llamado Federico Mena Quintero, ha analizado la causa del retardo en su blog y ofreció algunas sugerencias para mejorar la situación. Estas críticas se han disipado, ya que las versiones de Go-oo (https://web.archive.org/web/20121122185618/http://www.go-oo.org/), entre las que se encuentra la distribuida por Canonical en Ubuntu, permiten 1.048.576 de filas y 1.024 columnas.
La mayoría de los usuarios que trabajan con un conjunto de datos (datasets) tan grandes usan un programa manejador de bases de datos (como MySQL o PostgreSQL), así que, no es un gran problema. En Apache OpenOffice se puede conectar con bases de datos externas usando el componente Base.

## Comparación contra Microsoft Excel

Calc, al igual que el resto de la suite Open Office, puede fácilmente exportar hojas de cálculo (obviamente incluyendo gráficos) como archivo PDF a partir de su versión 1.1.0 (lanzada en marzo de 2004). En contraste, Excel sólo incluye esta característica desde su versión 2007.
Otra de las ventajas de Calc es que directamente usas medidas métricas cuando defines el ancho de una celda o columna, o la altura de una celda o fila. Este número se puede expresar tanto en cm, mm, pulgadas, picas y puntos (tipográficos).
Asimismo Calc tiene algunas funciones adicionales, como DOMINGODEPASCUA, la cual trabaja casi con cualquier año. Otras como DÍAS y AÑOS (las cuales calculan diferencias entre fechas), se pueden reemplazar con la relativamente desconocida, y muy poco documentada SIFECHA de Excel (DATEDIF en inglés, llamada así en español debido a un error de traducción).
No obstante, aunque Calc soporta totalmente el formato condicional de Excel 97-2003, no soporta las mejoras implementadas al mismo en la versión 2007 de Excel, así como tampoco, las "barras de datos" que se pueden asociar a celdas específicas.
Por otro lado, y a diferencia del producto de Microsoft (incluso su versión 2010), Calc ofrece un asistente de funciones más sofisticado, que le permite al usuario navegar a través de fórmulas anidadas.
Calc también permite fechas mucho menores que al primero de enero de 1900, la cual puede ser útil para calcular períodos históricos. Por ejemplo HOY-FECHA(1789; 7; 14) devuelve la cantidad de días entre la fecha actual del sistema y la Toma de la Bastilla. Aún más, puede ir tan atrás como el primero de enero del año 100 (después de Cristo), compensando el desfase de 11 días debido al pasaje desde el calendario juliano al gregoriano (que tuvo lugar cuando se pasó, en los entonces países católicos, del 4 de octubre de 1582 al 15 del mismo mes y año). Este desplazamiento permite calcular correctamente que el día del "descubrimiento oficial" de América (12 de octubre de 1492) efectivamente cayó un día viernes (mediante la función DÍASEM o, a veces, usando MÓDULO).
Finalmente, respecto de las macros, las funciones de BASIC de Calc son básicamente las mismas que las de Excel, aunque al primero le suelen faltar algunas, como InStrRev (la cual busca una subcadena en una cadena, recorriéndola en reversa, desde atrás hacia adelante). Pero desafortunadamente, el modelo de objetos de Calc es bastante diferente del de Excel, y no soporta la característica de "edición inteligente" del producto de Microsoft, heredada del entorno de programación Visual Studio, relacionada al manejo fácil de cada objeto.propiedad u objeto.procedimiento (objeto.método).