Oracle to excel 2010

Hyperion Financial Data Quality Management (FDM/FDMEE) (MOSC)

Discussions

In version 11.1.2.2, is it possible to export data to an Excel 2010 (.xlsx) file?  I am trying to export data that exceeds the capacity of a .xls file, and I was under the impression that this version of FDM supports .xlsx files.

If so..how is this done?

0

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don’t have a My Oracle Support Community account? Click here to get started.

1. Select a discussion category from the picklist.

2. Enter a title that clearly identifies the subject of your question.

3. In the body, insert detailed information, including Oracle product and version.

Please abide by the Oracle Community guidelines and refrain from posting any customer or personally identifiable information (PI/CI).

Классическая задача – есть база с данными. Данные эти заказчик желает лицезреть в виде красиво оформленных экселек заданного вида. Мало того, что форматирование шаблонов не подлежит обсуждению – в них, для полного счастья, натыканы не только эксельные формулы но и vba-макросы. А сервер может быть как на виндах, так и на никсах, на которых эксели и вовсе не предусмотрены. Как бы это все половчее организовать?

Совсем универсальные – не зависят от типа базы данных, операционной системы и наличия самого экселя на серваке

1 вариант: кросс-платформенно, какая база – не принципиально, на сервер ничего офисо-подобного ставить не надо.

Данные дергаем чем удобней – расписывать это не буду, зависит от ситуации. Для формирования отчетности в excel можно воспользоваться библиотеками:

на Java:

JExcelApi,  пример использования – http://www.vogella.de/articles/JavaExcel/article.html
Apache POI  примеры использования подробно расписаны на сайте. Хотя вот тоже неплохой пример на русском.

на Perl:

Используя пакет Excel-Writer-XLSX (бывшие Spreadsheet::WriteExcel и Spreadsheet::ParseExcel) подробнейшие примеры использования поставляются вместе с пакетом.

Из минусов подобного подхода – когда последний раз пробовал – не удалось корректно отображать всю информацию в диаграммах, vba-содержимое файлов-шаблонов страдало. Возможно, сейчас эти недочеты уже подправлены. В любом случае, для большинства отчетов вышеупомянутых библиотек будет более чем достаточно.

2 вариант: воткнуть куда-нибудь Open Office и при необходимости использовать OOO SDK, например, через жаву. Официальные сниппеты валяются тут. Т.е. схема взаимодействия следующая – сервер получает запрос на формирование отчета, он подготавливает данные и перенаправляет их на сторонний сервис на том же сервере или другом. Там используя OpenOffice создается excel файл и возвращается основному серверу, который уже возвращает их клиенту. Из минусов – опен офис таки тяжеловат, на перекачивание данных туда-сюда будет уходить некоторое время. Из плюсов – проблем совместимости содержимого эксель-шаблонов не встречал – макросы, формулы, форматирование – работает все.  Ну и опять же кроссплатформенно получается – благо опен офис вполне себе фурычит на никсах, виндах, да маках.

3  вариант: Аналогично варианту 2, однако, при необходимости создать документ эксель, оракловый сервер обращается к вашему самописному сервису на винде, где установлен эксель, предоставляя данные. Для формирования задействован “родной” sharp. Из минусов – таки нужен ексель и винда. Из плюсов – проблемы совместимости исключены.

Оракло-специфичные:

4 вариант: если оракл версии 11 – самый оптимальный – использовать Oracle Bi Publisher – о том как преобразовать пользовательские шаблоны к вашим данным он позаботиться сам. Ваша задача адаптировать их с помощью встроенных средств внести соответствующие изменения в механизм формирования отчетов для клиентов.

5 вариант: если версия оракла не позволяет воспользоваться возможностями Bi Publisher, а скупость – использовать готовые пакеты для этих целей  – придется ваять таки ручками на pl/sql. Снипеты водятся в интернетах. (http://akdora.wordpress.com/2009/02/06/how-to-write-excel-via-plsql-and-save-the-file-to-a-directory/, http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:728625409049, PL/SQL ExcelDocumentType)

Подключение к базе данных Oracle (Power Query)

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

С помощью Excel Get & преобразования качества (Power Query) для подключения к базе данных Oracle.

Примечание: Прежде чем вы можете подключиться к базе данных Oracle с помощью Power Query, вам необходимо v8.1.7 программного обеспечения клиента Oracle или больше на вашем компьютере. Чтобы установить клиентское программное обеспечение Oracle, перейдите к Access компоненты данных (ODAC) 32-разрядная Oracle с помощью инструментов разработчика Oracle для Visual Studio (12.1.0.2.4) установить 32-разрядного клиента Oracle или ODAC 64-разрядной версии 4 (12.1.0.2.4) Xcopy для Windows x64 12 cустановить 64-разрядную клиента Oracle.

Щелкните на вкладке » данные » выберите Получение данных > Из базы данных > Из базы данных Oracle. Если кнопка Получить данные не отображается, нажмите кнопку Новый запрос > Из базы данных > Из базы данных Oracle.

На вкладке ленты Power Query щелкните Из базы данных > Из базы данных Oracle.

В диалоговом окне База данных Oracle в поле Имя сервера укажите сервер Oracle, к которому нужно подключиться. Если требуется ИД безопасности, его можно указать в формате «Имя_сервера/ИД_безопасности».

Если данные нужно импортировать с использованием запроса на языке базы данных, укажите его в поле Инструкция SQL. Дополнительные сведения см. в статье Импорт данных из базы данных с помощью запроса на ее языке.

Нажмите кнопку ОК.

Если для сервера Oracle требуются учетные данные пользователя базы данных:

В диалоговом окне Доступ к базе данных введите имя пользователя и пароль.

Нажмите кнопку Подключиться.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

MyKnowledgeShare

Infinite Experience Flow

Использование поставщика данных Oracle в Excel Calculation Services

Большинство информации о настройке Excel Calculation Services уже присутствует в интернете, даже на официальных ресурсах:

Однако существует ряд моментов, касаемых использования поставщика данных Oracle, которые не являются очевидными и вызывают вопросы при настройке. Целью данной статьи является освещение вопросов, возникающих при настройке и использовании поставщика данных Oracle.

Существует как минимум три возможных поставщика данных Oracle:

  • Поставщик Microsoft OLE DB для Oracle (MSDAORA)
  • Поставщик Oracle для OLE DB (OraOLEDB)
  • Драйвер Oracle ODBC для Oracle 9.2 (Oracle in OraHome92)

При этом первый, как ясно из названия от Microsoft, два других от Oracle. Microsoft четко дает понять, что их поставщик данных Oracle является устаревшим (deprecated) и не должен использоваться, поскольку использует Oracle Call Interface (OCI) версии 7, что больше не поддерживается Oracle. Более того, Microsoft OLE DB для Oracle является 32-битным и не может быть использован в SharePoint 2010 в виду архитектурных ограничений. Драйвер Oracle ODBC для Oracle 9.2 также не рекомендуется использовать, поскольку его производительность окажется ниже из-за наличия дополнительного слоя доступа к ODBC через ADO. Таким образом, наиболее предпочтительным вариантом из рассматриваемых является Поставщик Oracle для OLE DB.

Для установки и настройки Поставщика Oracle для OLE DB необходимо выполнить следующие шаги:

  1. Загрузить 64-х битную версию Oracle Data Access Components (ODAC)
  2. Установить ODAC в соответствии с приложенными инструкциями по установке
  3. Добавить в переменную окружения PATH пути к домашней папке установки ODAC и к папке bin установки ODAC (например: C:oracle и C:oraclebin)

Для настройки Excel Calculation Services следует убедиться, что Поставщик Oracle для OLE DB присутствует в списке надежных поставщиков данных. Для этого следует перейти в Центр администрирования -> Управление приложениями-службами -> Приложение Служб Excel (название зависит от конфигурации фермы) -> Надежные поставщики данных:

Поскольку Oracle Client использует для своей работы переменные окружения, следует также активировать столь непопулярную настройку для пула приложений IIS, как «Загрузить профиль пользователя». Для этого на веб-сервере SharePoint, на котором размещено Приложение служб Excel следует зайти в Диспетчер служб IIS, найти пул приложений, котором выполняется Приложение служб Excel и, выбрав Дополнительные настройки, установить значение «Загрузить профиль пользователя» в True:

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

Если вышеописанные настройки произведены верно, поставщик данных Oracle готов к работе с Excel Calculation Service.

Для корректного проведения авторизации на сервере баз данных Oracle также необходимо настроить Службу безопасного хранения (Secure Store Service). Существует два варианта хранения учетных данных для подключения к источнику данных Oracle: непосредственно в книге Excel (embedded) и в Службе безопасного хранения. Хоть это и не кажется очевидным, настраивать SSS необходимо в обоих случаях, поскольку для Excel Calculation Services в обоих случаях необходима учетная запись, от имени которой на сервере будут выполняться запросы к источнику данных Oracle. Эта учетная запись называется учетной записью автоматической службы (Unattended service account). Таким образом, следует сначала настроить Excel Calculation Service на использование учетной записи автоматической службы, а затем, при необходимости, также настроить конечное приложение SSS для авторизации в Oracle. Подробные инструкции о выполнении настройки для SQL авторизации приведены в статье TechNet, настройка для источника данных Oracle производится аналогично. При этом предпочтительнее использование SSS для хранения учетных данных Oracle, поскольку в случае указания учетных данных в строке подключения книги Excel, они хранятся в незашифрованном виде.

Также следует отметить возможность использования файлов подключения к данным (.ODC) для удобства организации и управления способами получения данных службами Excel. Подробно об этом в статье на TechNet.

ORA-01019 подключение к Oracle из Excel

Я установил Oracle 10g Express Edition. При попытке проверить соединение я получаю сообщение об ошибке «Ошибка при попытке получить текст для ошибки ORA-01019».

У меня недавно произошла следующая ошибка.

Мне удалось решить проблему, просто изменив строку подключения.

кто-то изменил / обновил компоненты на коробке.

«ORA-01019 не удалось выделить память на стороне пользователя

Причина. Распределитель памяти на стороне пользователя возвратил ошибку.

Действие: Увеличьте размер кучи процесса или переключитесь на старый набор вызовов.»

Продолжение из комментариев:

Не могли бы вы попробовать этот код?

закрыть конец соединения

(Это не помещалось в поле для комментариев)

Вам нужен как минимум один водитель. Драйвер оракула лучше, но Microsoft Driver тоже будет работать.

Давайте сначала попробуем создать строку подключения. Щелкните правой кнопкой мыши на рабочем столе и создайте новый файл.txt. Теперь переименуйте ваш текстовый файл в нечто.udl Дважды щелкните файл udl. Перейдите к «Поставщику» и выберите Microsoft OLEDB Provider для Oracle. Затем нажмите на следующий. В поле имени сервера вы вводите свое имя TNS. Затем введите имя пользователя и пароль и вставьте V в поле «Разрешить сохранение пароля» (оно нам понадобится). Нажмите на тестовое соединение. Убедитесь, что это работает.

Если это работает, нажмите ОК. Теперь откройте файл UDL с помощью текстового редактора. Вы увидите нечто похожее на:

Скопируйте эту часть в строку подключения:

Теперь ваша строка подключения должна выглядеть так:

Short version:

Your excel is 32bit and you try to use the 32bit Oracle. I assume you launch the 64bit version of «ODBC Administrator» — there might be the mismatch. Or you have a problem in your PATH regarding %ORACLE_HOME% and/or %ORACLE_HOME%bin folder

Long version:

Your Excel is 32bit, so in general you did the right approach by putting the 32bit Client into PATH and for ORACLE_HOME , you cannot mix 32bit and 64bit assemblies in one process. Btw, when you follow the instructions above your Windows will manage this automatically.

I assume you installed the Oracle Instant Client. The default Instant Client does not include neither any ODBC driver nor Oracle Data Provider (ODP.NET, Oracle.DataAccess.Client )

You may have 2 ODBC drivers, one from Oracle typically called like Oracle in OraClient12_home1 and one from Microsoft called Microsoft ODBC for Oracle (which should be installed by default Windows installation, however it also requires an Oracle Client).

The ODBC driver from Oracle is available for 32bit and 64bit, the Microsoft driver exits only for 32bit. You have 2 ODBC Administrators, 32bit (run c:WindowsSysWOW64odbcad32.exe ) and 64bit (run c:WindowsSystem32odbcad32.exe ). There you should see installed drivers for 32 resp. 64bit.

Oracle Data Provider

For the Data Provider you have similar situation. You have one from Microsoft (Microsoft .NET Framework Data Provider for Oracle, System.Data.OracleClient ) and from Oracle (Oracle Data Provider for .NET, Oracle.DataAccess.Client , several versions). Both are available for 32bit and 64bit.

In principle it does not matter which driver/provider you use to connect to Oracle — just the architecture (i.e. 32 vs. 64 bit) has to match. Each driver/provider requires according Oracle Client installation. All drivers/providers from Microsoft have been deprecated, you should prefer the Oracle ones (as stated in the warning message)

Oracle provides also the ODP.NET, Managed Driver which does not require any further Oracle Client installation and runs on both, 32bit and 64bit. However, I don’t know whether you can use this in Excel.

Last but not least, you also have OLE DB provider. Again one from Microsoft (Microsoft OLE DB Provider for Oracle) and one from Oracle (Oracle Provider for OLE DB). The Microsoft provider exist only for 32bit and has been deprecated.

Подключение к базе данных Oracle с помощью Excel

Я пытаюсь подключиться к базе данных Oracle на нашем сервере из листа Excel, но у меня возникают проблемы с пониманием, почему.

Я в настоящее время как 32-разрядные и 64-разрядные Oracle 12c установлены в разных ORACLE_HOME с и имеют 32-разрядную установку Excel на моем 64-разрядном компьютере.

Я пытаюсь подключиться к базе данных Oracle в Excel с использованием нового запроса мастера.

Когда я щелкаю из базы данных Oracle Я получаю следующее сообщение об ошибке / сообщении.

Я могу продолжить с моим текущим поставщиком, но когда я на самом деле пытаюсь подключиться к базе данных, я получаю это:

То , что я не понимаю, почему я получаю эту ошибку , когда у меня есть и 32-разрядные и 64-разрядные версии Oracle 12c , установленная на моем компьютере. Оба включены в моем PATH переменном (32-битном первый), и я также включал конкретные ORACLE_HOME и TNS_ADMIN указать на мою 32-битной установку , так как мой Excel является 32-битным.

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

РЕДАКТИРОВАТЬ

Я также только что добавил драйвера ODBC от моей Oracle Home’S в исходном инструмент администратора ODBC Data.

Это в настоящее время в состоянии соединиться с помощью этого инструмента.

Но когда я пытаюсь подключиться к идти через ODBC Connection мастер, я знаю , получаю это:

Как установить 32bit и 64bit Oracle Client?

Укороченная версия:

Ваш первенствует является 32bit , и вы пытаетесь использовать 32bit Oracle. Я предполагаю , что вы запускаете 64 — битную версию «ODBC Administrator» — там может быть несоответствие. Или у вас есть проблемы в вашем PATH отношении %ORACLE_HOME% и / или %ORACLE_HOME%bin папки

Длинная версия:

Ваш Excel является 32 — битной, так и в целом вы сделали правильный подход, поставив 32 — битный клиент в PATH и ORACLE_HOME , вы не можете смешивать 32bit и 64bit сборки в одном процессе. Кстати, если вы будете следовать инструкциям выше вашего Windows , будет управлять автоматически.

Я предполагаю , что вы установили Oracle Instant Client. Instant Client по умолчанию не включает ни какой — либо драйвер ODBC , ни поставщика Oracle Data (ODP.NET, Oracle.DataAccess.Client )

Вы можете иметь 2 драйвера ODBC, один из Oracle обычно называемый как Oracle в OraClient12_home1 и один из Microsoft под названием ODBC Microsoft для Oracle (который должен быть установлен путем установки Windows , по умолчанию, однако он также требует клиента Oracle).

Драйвер ODBC от Oracle доступна для 32 — битных и 64 — битных, драйвер Microsoft выйдет только для 32 — битных. У вас есть 2 ODBC Администраторы, 32bit (бег c:WindowsSysWOW64odbcad32.exe ) и 64 — битный (бег c:WindowsSystem32odbcad32.exe ). Там вы должны увидеть установленные драйверы для 32 соответственно. 64 — битная.

Поставщик данных Oracle

Для поставщика данных у вас есть подобная ситуация. У вас есть один из Microsoft ( поставщик Microsoft .NET Framework данных для Oracle , System.Data.OracleClient ) и от Oracle ( Provider Oracle Data для .NET , Oracle.DataAccess.Client , несколько версий). Оба доступны для 32 — битной и 64 — битной.

В принципе, это не имеет значения, какой драйвер / поставщик используется для подключения к Oracle — только архитектуре (т.е. 32 против 64 бит) должны соответствовать. Каждый водитель / поставщик требует установки Oracle соотв клиента. Все водители / провайдеры от Microsoft устарели, вы должны предпочитать те Oracle (как указано в сообщении предупреждения)

Oracle предоставляет также ODP.NET, управляемый драйвер , который не требует какой — либо дальнейшей установки Oracle Client и работает на оба, 32 — битном и 64 — битном. Тем не менее, я не знаю , можно ли использовать это в Excel.

И последнее , но не в последнюю очередь, вы также поставщика OLE DB. Опять один из Microsoft ( Microsoft OLE DB Provider для Oracle ) и один из Oracle ( Oracle Provider для OLE DB ). Поставщик Microsoft существует только для 32 — битных и устаревшим.

The ESF Database Migration Toolkit is a robust and efficient solution for migrating data between various database formats, including Oracle and MS Excel.

This guide will show you how to easily migrate data from Oracle to MS Excel through a few simple steps of a wizard, streamlining complex migration processes and saving you valuable time.

Software Required:

DMToolkit_x64.zip
(60.9 MiB)
64-bit Windows application for ESF Database Migration Toolkit 11.1.24 (2023-04-14).
(md5: 20e0bca60d66442ae0435980e708e8c4)
DMToolkit_win32.zip
(57.4 MiB)
32-bit Windows application for ESF Database Migration Toolkit 11.1.24 (2023-04-14).
(md5: 680026ef8ecd5572eb4f0556d3f4abc2)

System Supported:

  • Windows 7 or higher.
  • Oracle 11g or higher.
  • MS Excel 97 or higher.

Introduction:

1. In «Choose a Data Source» dialog, choose «Oracle»;

  • Enter the server name (default: localhost) and port (default: 1521).
  • Enter the username (default: «system») and its password.
  • Choose the logon method (SID, Service_Name or TNS).
  • Enter the Oracle SID or Service_Name in the «Database» field or leave it empty if you’re using TNS method.
  • Enter the schema name or leave it empty (default is the same as the username). You can press the «Refresh» button to view a list of all schemas.
    Oracle

2. In «Choose a Destination» dialog, Choose «Microsoft Excel(*.xls;*.xlsx)»;

  • Click «…» button to select the Excel (.XLS or .XLSX) file.
    Microsoft Excel

3.In «Select source Tables(s) & View(s)» dialog;

  • Select the tables or views you want to migrate.
    Select Tables&Views
  • You can access the table options or adjust the table structure by clicking the «…» button.
    Transform
  • In the «Field Mapping» option, you can customize the destination table’s fields, such as field name, data type, default value, comment, and more. You also have the option to choose the data transfer method, including Overwrite Table, Empty Data, Append Data, or Skip Table, or even filter the data before transferring it.

4. In «Execution» Dialog;

  • You can start the migration process by clicking «Submit». The toolkit will efficiently and seamlessly migrate your data from Oracle to MS Excel without the need for manual intervention.
    Execute
  • To keep track of the migration process, you can access the full migration log by clicking «Browse Log». This will provide you with a comprehensive view of the entire migration, including any potential issues and their resolutions.
  • To save time in the future, you can save the migration settings as a job file by clicking «Save as job». This allows you to quickly reload the migration job at a later time or run the migration job using the command-prompt by typing «dmtc.exe —help». The command-prompt provides you with a full list of parameters to customize the migration process to your specific needs.

5.Finished!

Upon completion, the toolkit will generate a comprehensive migration report, providing you with all the information you need to verify the accuracy and completeness of the migration process. So, you can sit back and relax while the program carries out the task efficiently. Should you have any inquiries or recommendations, don’t hesitate to reach out to us. We’re always happy to help.

Download Now »

Related Links:

  • Remove From My Forums
  • Question

  • I want to import data into MS excel 2010 from SQL developer (Oracle) using VBA macro

    I am using below code but not able to connect to SQL devevloper.

    Kindly help.

    Sub ImportData() Sheets("sheet1").Select With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _ "OLEDB;Provider=MSDAORA.1;User ID=MY_USER;password= MY_PW;Data Source=sourceName", Destination _ :=Range("$A$1")).QueryTable .CommandType = xlCmdSql .CommandText = "Select Main.[ID],Main.[Count1] From Main Where Main.[Count1] > 25" .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With End Sub

Answers

    • Proposed as answer by

      Thursday, February 18, 2016 9:23 AM

    • Marked as answer by
      Edward8520Microsoft contingent staff
      Tuesday, February 23, 2016 7:10 AM

I’m writing pl/sql procedure that exports data from Oracle to Excel. I need data formatting so I can’t use CSV. I’ve already tried with XML but it generates too large files when I want to export e.g. 70000 rows with 50 columns (almost 300 MB!!!).

That’s why I decided to use HTML tags to generate XLS file – it is smaller than XML and I must directly define format of only some special columns (strings, numbers and dates are formatted automatically by Excel).
It’s very simple and convenient but I can’t define more than one worksheet.

Do you know how to add/define more than one worksheet in excel file written using HTML? I’ve tried to use VBScript formula like <% ActiveWorkbook.Worksheet.Add %>, but it doesn’t work.

Marek Grzenkowicz's user avatar

asked Nov 18, 2008 at 12:52

1

Instead of creating Excel or HTML files on Oracle server, you can fetch Oracle data to existing Excel document via ODBC or OLEDB. The shortcoming is, that you should be careful with user permissions.

shareef's user avatar

shareef

9,06213 gold badges58 silver badges89 bronze badges

answered Nov 18, 2008 at 13:40

user38123's user avatar

user38123user38123

6693 silver badges5 bronze badges

I’ve had similar issues and eventually made a spreadsheet with some VBA code that queried and populated the spreadsheet for me.
My task was to export a series of tables, each one on a different sheet, but any flag could be used to switch to a new sheet.
Anyhow, let me know if you would like to see the code. Here is a chunk that might help you out.
Just change the TableSQL string to whatever your select should be.
Each record returned will be inserted as a row in the sheet.
Then, based on whatever flag you decide, you can create and move to the next sheet.
Please let me know if you need more information (as this particular example isn’t EXACTLY what you are doing)

Private Sub getMyRows(inSchema As String, InTable As String)
    Dim RS As Object
    Dim TableSQL As String
    Dim DataType As String
    Dim DataLength As String
    Dim DataPrecision As String
    Dim DataScale As String
    Dim ColCount As Integer
    Dim WS As Worksheet
' create a sheet with the current table as name
    Worksheets.Add().Name = InTable
    Set RS = CreateObject("ADODB.recordset")
    TableSQL = "Select * from " & inSchema & "." & InTable
' grab the data
    RS.Open TableSQL, conn, adOpenStatic
    For ColCount = 0 To RS.Fields.Count - 1
' set column headings to match table
       ActiveSheet.Cells(1, ColCount + 1).Value = RS.Fields(ColCount).Name
    Next

' copy table data to sheet
     With Worksheets(InTable).Range("A2")
        .CopyFromRecordset RS
    End With
    RS.Close

  End Sub

answered May 29, 2009 at 19:16

moleboy's user avatar

moleboymoleboy

8841 gold badge9 silver badges17 bronze badges

You can get Tom Kyte’s OWA-SYLK utility, which supports a subset of .xls format features.

answered Nov 19, 2008 at 5:17

Andrew not the Saint's user avatar

1

There is another project ORA_EXCEL (www.oraexcel.com) that can produce Excel documents from Oracle database using only PL/SQL.

answered Dec 13, 2011 at 8:42

ora_excel's user avatar

I found this solution on the web (not invented by me), using SQL plus:

set feed off markup html on spool on
spool c:table1.xls
select * from table1;
spool off
set markup html off spool off

stealthyninja's user avatar

answered Dec 22, 2010 at 3:35

gWay's user avatar

gWaygWay

1,0579 silver badges7 bronze badges

From: MSDN. If you want your worksheet to be portable and not to rely on System DSNs you can connect using a connection string like:

Dim cnn As ADODB.Connection
Set cnn = New ADODB.Connection

cnn.ConnectionString = "Provider=OraOLEDB.Oracle.1;Password=<PASSWORD>;Persist Security Info=True;User ID=<USER ID>;Data Source=<DATABASE NAME>"
cnn.Open

… then use Moleboy’s solution.

Community's user avatar

answered Apr 18, 2012 at 8:14

vbence's user avatar

vbencevbence

20k9 gold badges68 silver badges117 bronze badges

You could save a (small) Excel sheet as html in Excel, and then reproduce that format.

answered Nov 18, 2008 at 19:50

Matthew Farwell's user avatar

Matthew FarwellMatthew Farwell

60.5k18 gold badges126 silver badges169 bronze badges

There is a product called SQL*XL which allows you to run sql queries from within Excel, and the results appear within the worksheet (it can also update).

It is commercial, not free, but is only about €50, so not expensive. I use it quite a lot

answered Dec 30, 2008 at 21:04

We use to OOXML methods. We were first writing our own method to do it in PL/SQL but a coworker found this product called Excellant. It it is you pass in a xml spec with column mappings and styles/formulas (almost any excel formula works), the query and it gives you a clob back. So you can then run gzip on the clob if you want to make it smaller. The product is pretty cheep my manager bought it with a pcard.

The web site is www.peak42solutions.com. We couldn’t use ODBC since the network folks don’t allow access directly to the database. And we are now emailing invoicing in excel to customers.

Thanks,

Bill

answered Oct 1, 2009 at 15:34

Like this post? Please share to your friends:
  • Oracle sql developer экспорт в excel
  • Oracle sql developer выгрузить результат запроса в excel
  • Oracle sql developer import from excel
  • Oracle sql and excel
  • Oracle smart view excel