2010-01-25 2 views

ответ

2

Я не думаю, что эта функциональность существует в TOAD.

Обычное решение для экспорта прямо из PL/SQL в Excel - оболочка OWA_SYLK Tom Kyte для SYLK api - работает только с одиночными рабочими листами. Есть несколько альтернативных решений.

У Sanjeev Sapre есть пакет get_xl_xml. Как видно из названия, он использует XML для проведения трансформации. Find out more.

Jason Bennett написал объект PL/SQL, который генерирует XML-документ Excel. Find out more.

3

Я не уверен, что вы можете сделать это с помощью Toad автоматически, но есть небольшой трюк, который вы можете сделать с Excel.

Напишите первый запрос и выполните его в Toad, после этого щелкните правой кнопкой мыши на сетке данных результатов запроса и выберите «Экспорт набора данных ...», в формате Excel выберите «Экземпляр Excel» и нажмите «ОК». Он откроет Excel и добавит один лист с данными из вашего запроса.

Повторите тот же процесс для второго запроса, и он добавит другой лист в тот же документ и заполнит данные из второго запроса.

После того, как вы выполнили все запросы и добавили его в Excel, сохраните документ excel.

Если вы хотите сделать это полностью автоматически, есть еще одно решение, которое вы можете использовать для создания отдельного документа Excel с несколькими листами, которые загружаются данными из разных запросов. Купите сторонний PL/SQL-пакет, ORA_EXCEL.

Вот пример того, как сделать это:

BEGIN 
    ORA_EXCEL.new_document; 

    ORA_EXCEL.add_sheet('Employees'); 
    ORA_EXCEL.query_to_sheet('select * from employees'); 

    ORA_EXCEL.add_sheet('Departments'); 
    ORA_EXCEL.query_to_sheet('select * from departments', FALSE); 

    ORA_EXCEL.add_sheet('Locations'); 
    ORA_EXCEL.query_to_sheet('select * from locations'); 

    -- EXPORT_DIR is an Oracle directory with at least 
    -- write permission 
    ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx'); 
END; 

Он может генерировать файл Excel и сохранить его в папку Oracle, или вы можете получить сгенерированные Excel файл в переменную/SQL BLOB PL, так что вы можете хранить его таблицы или создать собственный процесс для распространения файла, например, отправки его по электронной почте.

Подробнее вы можете найти на странице продуктов документации/примеров: http://www.oraexcel.com/examples

Приветствие

0

Вам больше не нужно писать код для вывода данных на несколько листов. До тех пор, пока ваши SQL-запросы четко определены (с точкой с запятой), TDA или теперь TDP автоматически удалит данные для разных SQL-ов в разных листах.

0

У меня есть Toad for Data Analyst 2.6. Я использую ключевое слово GO между запросами.

Select * from tableA; 

GO 

Select * from tableB; 

Это создает две вкладки в Excel.