Crear una hoja de cálculo de Excel desde una base de datos Oracle

Tengo una tabla en una base de datos Oracle. Tengo que crear una estructura de hoja de cálculo compleja a partir de la tabla de Oracle. Estoy buscando el mejor enfoque para lograr esto. ¿Puedo usar SSIS o utilizar algunas utilidades de Oracle para crear la hoja de cálculo?

Cualquier ayuda sería extremadamente apreciada.

Gracias por adelantado.

Saludos Dibs

Supongo que el problema es, ¿qué tan compleja es tu “estructura compleja”?

Los IDEs de progtwigción como Oracle SQL Developer o Quest TOAD tienen asistentes para exportar la tabla de datos a archivos CSV.

Si desea unir datos de varias tablas, puede usar una vista, o incluso escribir una statement SQL

select e.ename||','||d.dname from emp e join dept d on ( e.deptno = d.deptno ) / 

(volviendo a señalar que las columnas a menudo pueden contener datos que incluyen comas, por lo que es posible que desee utilizar un carácter más inusual, o un conjunto de caracteres, como su separador).

Otra forma rápida de hacer algo es usar la función de informes HTML de SQL * Plus. Muchas herramientas de hoja de cálculo pueden importar HTML y XML bien estructurados sin arrebatar. Saber más.

Si desea aplanar una estructura jerárquica o algo aún más intrincado, probablemente deba pasar a PL / SQL. Un enfoque enrollado a mano usaría una variante de la instrucción anterior ajustada para usar UTL_FILE:

 declare csv_fh utl_file.filetype; begin csv_fh := utl_file.fopen('C:\temp', 'data_export.csv', 'W'); for r in ( select e.ename, d.dname from emp e join dept d on ( e.deptno = d.deptno ) ) loop utl_file.put_line(csv_fh, r.ename||'|'||r.dname; end loop; utl_file.fclose(csv_fh); end; 

Si desea exportar específicamente a Excel (es decir, un archivo .XLS), deberá ir más allá de los complementos de Oracle. La solución habitual para exportar directamente de PL / SQL a Excel es el envoltorio OWA_SYLK de Tom Kyte para SYLK api. Saber más.

Esto funciona con hojas de trabajo individuales. Si desea exportar a varias hojas de trabajo, hay un par de soluciones alternativas.

Sanjeev Sapre tiene su paquete get_xl_xml. Como su nombre indica, usa XML para llevar a cabo la transformación. Descubra más .

Jason Bennett ha escrito un objeto PL / SQL que genera un documento XML de Excel. Descubra más .

Puede usar el paquete ORA_EXCEL para crear documentos de Excel con una estructura compleja. ORA_EXCEL tiene componentes básicos pero potentes que puede usar para comstackr archivos complejos de Excel.

Consulte la lista de funciones en: http://www.oraexcel.com/documentation

Lo primero que probaría es simplemente arrojar los valores que quería a CSV. Excel debería poder importar eso muy bien y, a menudo, es más fácil manipular manualmente fórmulas de Excel, etc., que tratar de automatizarlo. Si está utilizando Oracle SQLDeveloper, hay una opción para exportar resultados a CSV. Si usa SQL * Plus, puede usar set colsep , para hacer que Oracle use comas para separar las columnas. Sin embargo, es probable que desee hacer algunos retoques de formato más si está usando SQL * Plus.

Existe una versión ‘desconectada’ de las descripciones de informes de SSRS llamada .RDLC (Cliente de lenguaje de definición de informes). Este es un subconjunto del RDL que es parte de SSRS. Hay controles del visor de informes que se han incorporado en los exportadores para formatos Excel y PDF. El control del visor está disponible tanto para formularios de Windows como para formularios web. El origen de datos para estos informes son los DataSets generics o los objetos de datos que son independientes de las fonts de datos (SQL, Oracle, … señales de humo …)

http://www.highoncoding.com/Articles/339_Creating_Charts_Using_Aspnet_ReportViewer_Control.aspx

http://msdn.microsoft.com/en-us/library/ms251771%28VS.80%29.aspx

set linesize 4000 pagesize 0 colsep ‘,’ establecer el encabezado de trimspool en trimout en

spool c: /file.xls

seleccione * de tableName;

carrete apagado;

esto generará su archivo .xls en la unidad c. Puede dar cualquier dirección y si desea el encabezado de la columna, elimine la cláusula “heading off” y configure pagesize en algún valor numérico.

    Intereting Posts