|
|
|
|
Google Site
|
|||||||
| Fórumok | Regisztráció | Blog | Man oldalak | Fórum Szabályok | Linkek | Albumok | GYIK | Felhasználók | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
![]() |
|
|
Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|||
|
Oracle Reports UNIX
nekem van sql szkript (pl: a.sql) generáló 10 csv fájl
ex: a.csv b.csv c.csv ......... Nemkéne de szeretne 10 külön csv fájl szeretnék venni egy csv fájlokat a 10 különböző lapot, amely tartalmazza az összes adatot ez lehetséges UNIX ![]() |
| Sponsored Links | ||
|
|
|
||||
|
Idézet:
Abban az esetben, ha olyan Excel-munkafüzet A több mint egy munkalapot (a "tab" pedig a "munkalap"), akkor használhatjuk perl. Ez perl program hurkok egyes rendszereken keresztül csv fájlt az aktuális könyvtárban és kiírja az adatokat a munkalap a munkafüzet "alldata.xls" az aktuális könyvtárban. A neve a csv fájl nevét a munkalapon. Kód:
$
$ # display the contents of the csv files
$ cat a.csv
abc,123,def,12.34
xyz,456,pqr,99.87
def,389,rst,1234.56
$
$ cat b.csv
abcdefghi,123456.789
bcdefghij,234567.890
$
$ cat c.csv
a,1,bcd,1.2,efg
b,2,cde,2.3,fgh
c,3,def,3.4,ghi
$
$ # display the contents of the perl program
$
$ cat createwsheets.pl
#!/usr/bin/perl -w
use Spreadsheet::WriteExcel;
# create a new workbook
my $workbook = Spreadsheet::WriteExcel->new('alldata.xls');
# loop through csv files
foreach $file (glob "*.csv") {
print "Processing file => $file\n";
open (F, $file) or die "Can't open $file: $!";
@x = <F>;
close (F) or die "Can't close $file: $!";
($worksheet = $file) =~ s/.csv//;
print "Creating worksheet => $worksheet\n";
# create a new worksheet in the workbook
$worksheet = $workbook->add_worksheet($worksheet);
$col = $row = 0;
foreach $elem (@x) {
@data = split/,/, $elem;
foreach $cv (@data) {
# print data in worksheet
$worksheet->write($row, $col, $cv);
$col++;
}
$row++;
$col = 0;
}
print "-"x30,"\n";
}
$
$ # run the perl program
$
$ perl createwsheets.pl
Processing file => a.csv
Creating worksheet => a
------------------------------
Processing file => b.csv
Creating worksheet => b
------------------------------
Processing file => c.csv
Creating worksheet => c
------------------------------
$
$ ls -1 *.csv *.xls
a.csv
alldata.xls
b.csv
c.csv
$
$Sőt, akkor csökkentsék néhány általános elkerülésével létrehozása ezen csv fájlokat az első helyen. Ha ismerjük a felépítését az SQL szkript (ami vagyok, ha feltételezzük, tartalmaz egy csomó "spool" parancsot, ha az adatbázis Oracle), akkor a következőket teheti: (1) Loop keresztül SQL script, megtakarítva minden SQL vagy PL / SQL "block" egy tömbben, vagy azzal egyenértékű adatok struktúráját. (2) Csatlakoztassa az Oracle via DBI. (3) Loop through a tömb lépésben hozott létre (1) és végre egy "block" per eredményt. (4) Olyan nyomtatott munkalapot és az eredményeket is. (5) Ismételje meg a lépéseket (3) és (4) az egész tömböt. (6) Szoros a DBI kapcsolat. Hope that helps, tyler_durden |
| Sponsored Links |
|
|
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Útmutató: építhet saját Oracle RAC Cluster kiterjesztette az Oracle VM és az Oracle Enterprise | Linux Bot | Oracle frissítések (RSS) | 0 | 10-29-2008 03:10 PM |
| Most, hogy az Oracle SQL Developer Reports | Linux Bot | Oracle frissítések (RSS) | 0 | 04-06-2008 06:10 AM |
| Oracle Reports Barcode PLL 1.2 (Default branch) | Linux Bot | Software Releases - RSS hírek | 0 | 02-28-2008 04:10 AM |
| Hol vonalkód betűkészleteket go (Oracle jelentések) | Chantho | A UNIX a dummies Kérdések és válaszok | 0 | 01-09-2008 07:53 AM |
| HP-UX és Oracle 11,11 jelentések | schilukuri | HP-UX | 1 | 05-03-2005 04:59 PM |