Създаване на Excel файл от избран с параметри, използвайки чист PL
Цели, които исках да постигна
- Excel, в резултат на избор, чийто текст процедурата разпознава само по време на изпълнение
- Изборът преди изпълнение се променя в съответствие с параметрите, които процедурата получава
- На процедурата се предават параметрите на файла, който ще бъде създаден.
- Възможност за получаване на получения файл във формати Excel Workbook, CSV, HTML, XML
- изберете текст
- Опции за файл на Excel
- опции за изпълнение
И накрая, написах един PL/SQL пакет, който се намира в базата данни и може да бъде извикан от всяко приложение. В процеса на писане се сблъсках с много ограничения и искам да говоря за това как ги преодолях.
За тези, които се съмняват, аз, разбира се, не можех да знам това предварително, но от няколко години, когато пакетът работи в голяма компания, нямах проблеми с намаляването на RDF с всякаква сложност, с много тригери / формули, в един избор, похвала на Oracle. Напротив, тъй като select е низов параметър и може да се създава динамично, това дава голяма гъвкавост. В параметрите можете дори да зададете името на таблицата. Първо, не съдете строго за изобилието от англицизми (така се казва според мен), просто съм извън българската софтуерна общност от доста време и не знам каквозамени тези думи.
Много често в приложенията, написани на Oracle Forms/Reports, Oracle*Reports се използва за създаване на Excel файл, тъй като там е възможно да се използват параметри и да се променя изборът, преди да бъде изпълнен. След това изходът се записва във файла в тригера на ниво изходен ред. Получава се csv файл. Е, можете, разбира се. Ако трябва да създадете pdf с Excel, тогава не можете да отидете никъде, използвайте отчети и не се оплаквайте как тази програма ви е направила. Но в края на краищатасамоExcel често е необходим и някак си не искате да оградите RDF за това.
Приблизително такъв комплект. Мисля, че тук всичко е ясно. Малко думи:
LIMIT_ROWS, LIMIT_LEN ви позволяват да разделите получения файл по време на процеса на създаване, когато се достигнат граничните стойности, на няколко правилни Excel.
LITERAL_PARAMS казва как да използвате параметри за изпълнение - вмъкнете стойности или извършете избор в dbms_sql с dbms_sql.bind_variable.
OUT_TYPE задава формата: Excel Workbook,CSV,HTML,XML