|
|
Fråga : Ett Perl-räknearkproblem
|
|
Hi
This förbinds till mitt tidigare problem i dag. Här i stället för hård-att kodifiera förmiddagen för query som I sätter dem in i en överträffa, täcka och läsning det. Överträffa täcker fästas. Men tillverkade överträffar täcker får inte frambragda med några ror, det är tomma. Var förmiddag mig som orätt går? hjälp för
Any, som vanlig, uppskattade egentligen.
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
" codeBody "
" ># för class= " för new ($xls_file);
mitt $worksheet = $workbook->addworksheet (”utnämning förar journal över tillträden”);
mitt $worksheet1 = $workbook->addworksheet (”legitimation”);
mitt $format1 = $workbook->add_format ();
mitt $format2 = $workbook->add_format ();
mitt $format3 = $workbook->add_format (num_format=> ”mm/dd/yy”);
$format1->set_size (12);
$format1->set_bold ();
$format1->set_color (”blått);
$format1->set_align (”centrera”);
$format1->set_bg_color (”guling”);
#$format2->set_num_format (”General”);
############# definierar arbetsboken för SQL-Queries###############################
mitt $sql_parser = räkneark:: ParseExcel->new ();
mitt $sql_workbook = $sql_parser->parse (”/ms/user/s/sayantag/SQL_Queries.xls”);
min $sql_worksheet;
############################################################################
min $col=0;
min $row=0;
foreach min $i (
”JRNL_ID”,
, ”ACCTNG_PERIOD_ID”,
, ”FCP_ID”,
, ”LDGR_TYPE_CDE”,
, ”BA_HRCHY_ID”,
, ”BA_NID”,
, ”LE_HRCHY_ID”,
, ”LE_NID”,
, ”REGION_HRCHY_ID”,
, ”REGION_NID”,
, ”ASSET_ID”,
, ”QTP_KEY_ID”,
, ”CHANGE_CTGRY_ID”,
, ”ELIMINATION_ID”,
, ”SRC_ID”,
, ”JRNL_VAL”,
, ”EFFECTIVE_DTE”,
, ”RULE_ID”,
, ”JRNL_SET_ID”,
, ”CCY”,
, ”TRANSLATED_CCY”,
, ”UOM_CCY”,
, ”RUN_GROUP_ID”,
, ”BA_CNTRPTY_ID”,
, ”INTERCPNY_CNTRPTY_ID”,
, ”REGION_CNTRPTY_ID”,
, ”TICKET_REF_NO”,
, ”MASTER_TICKET_REF_NO”,
, ”HEADER_ID”,
)
{
$worksheet->write (0, $col++, $i, $format1);
}
Den ##################Accesing queryen från SQL Queries arbetsbok#####################
för $sql_worksheet ($sql_workbook->worksheets ()) {
mitt ($row_min, $row_max) = $sql_worksheet->row_range ();
mitt ($col_min, $col_max) = $sql_worksheet->col_range ();
för min $row ($row_min. $row_max) {##Firstfor##
för min $col ($col_min. $col_max) {##Secondfor##
mitt $cell = $sql_worksheet->get_cell ($row, $col);
om ($col==0 && $row! && =0, eq ”Query1” (för $sql_worksheet->get_cell ($row, 0))) {
$col++;
mitt $query = $sql_worksheet->get_cell ($row, $col) - >value;
##############################################################################
mitt $dbh = DBI->connect (”dbi: MSDB2: NQ200001”, '', '', {”RaiseError” => 1}) eller
matrisen ”kan inte förbinda till databas: $DBI:: errstr”;
mitt $sql = ”$query”;
mitt $sth = $dbh->prepare ($sql);
$sth->execute ();
$row = 1;
min stunder ($a = $sth->fetchrow_hashref ()) {
$worksheet->write ($row, 0, (som definieras ($a-> {”JRNL_ID”})? $a-> {”JRNL_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 1, (som definieras ($a-> {”ACCTNG_PERIOD_ID”})? $a-> {”ACCTNG_PERIOD_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 2, (som definieras ($a-> {”FCP_ID”})? $a-> {”FCP_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 3, (som definieras ($a-> {”LDGR_TYPE_CDE”})? $a-> {”LDGR_TYPE_CDE”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 4, (som definieras ($a-> {”BA_HRCHY_ID”})? $a-> {”BA_HRCHY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 5, (som definieras ($a-> {”BA_NID”})? $a-> {”BA_NID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 6, (som definieras ($a-> {”LE_HRCHY_ID”})? $a-> {”LE_HRCHY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 7, (som definieras ($a-> {”LE_NID”})? $a-> {”LE_NID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 8, (som definieras ($a-> {”REGION_HRCHY_ID”})? $a-> {”REGION_HRCHY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 9, (som definieras ($a-> {”REGION_NID”})? $a-> {”REGION_NID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 10, (som definieras ($a-> {”ASSET_ID”})? $a-> {”ASSET_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 11, (som definieras ($a-> {”QTP_KEY_ID”})? $a-> {”QTP_KEY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 12, (som definieras ($a-> {”CHANGE_CTGRY_ID”})? $a-> {”CHANGE_CTGRY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 13, (som definieras ($a-> {”ELIMINATION_ID”})? $a-> {”ELIMINATION_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 14, (som definieras ($a-> {”SRC_ID”})? $a-> {”SRC_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 15, (som definieras ($a-> {”JRNL_VAL”})? $a-> {”JRNL_VAL”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 16, (som definieras ($a-> {”EFFECTIVE_DTE”})? $a-> {”EFFECTIVE_DTE”}: ”[OGILTIGT]”), $format3);
$worksheet->write ($row, 17, (som definieras ($a-> {”RULE_ID”})? $a-> {”RULE_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 18, (som definieras ($a-> {”JRNL_SET_ID”})? $a-> {”JRNL_SET_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 19, (som definieras ($a-> {”CCY”})? $a-> {”CCY”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 20, (som definieras ($a-> {”TRANSLATED_CCY”})? $a-> {”TRANSLATED_CCY”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 21, (som definieras ($a-> {”UOM_CCY”})? $a-> {”UOM_CCY”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 22, (som definieras ($a-> {”RUN_GROUP_ID”})? $a-> {”RUN_GROUP_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 23, (som definieras ($a-> {”BA_CNTRPTY_ID”})? $a-> {”BA_CNTRPTY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 24, (som definieras ($a-> {”INTERCPNY_CNTRPTY_ID”})? $a-> {”INTERCPNY_CNTRPTY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 25, (som definieras ($a-> {”REGION_CNTRPTY_ID”})? $a-> {”REGION_CNTRPTY_ID”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 26, (som definieras ($a-> {”TICKET_REF_NO”})? $a-> {”TICKET_REF_NO”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 27, (som definieras ($a-> {”MASTER_TICKET_REF_NO”})? $a-> {”MASTER_TICKET_REF_NO”}: ”[OGILTIGT]”), $format2);
$worksheet->write ($row, 28, (som definieras ($a-> {”HEADER_ID”})? $a-> {”HEADER_ID”}: ”[OGILTIGT]”), $format2);
$row++;
}
$sth->finish ();
} ###End om för SQL Queries arbetsbok###
###################### UNDERSTÖDER TÄCKER ####################################
$col=0;
foreach min $i (”NUM_ROWS”, ”NUM_PROCESSED”, ”NUM_FAILED”, ”NUM_OUTPUT_ROWS”)
{
$worksheet1->write (0, $col++, $i, $format1);
}
##################### Accesing SQL Queries ######################### för arbetsboken igen
om ($col==0 && $row! && =0, eq ”Query2” (för $sql_worksheet->get_cell ($row, 0))) {
$col++;
mitt $query = $sql_worksheet->get_cell ($row, $col) - >value;
mitt $dbh = DBI->connect (”dbi: MSDB2: NQ230001”, '', '', {”RaiseError” => 1}) eller
matrisen ”kan inte förbinda till databas: $DBI:: errstr”;
mitt $sql = ”$query”;
mitt $sth = $dbh->prepare ($sql);
$sth->execute ();
$row = 1;
min stunder ($a = $sth->fetchrow_hashref ()) {
$worksheet1->write ($row, 0, $a-> {”NUM_ROWS”}, $format2);
$worksheet1->write ($row, 1, $a-> {”NUM_PROCESSED”}, $format2);
$worksheet1->write ($row, 2, $a-> {”NUM_FAILED”}, $format2);
$worksheet1->write ($row, 3, $a-> {”NUM_OUTPUT_ROWS”}, $format2);
$row++;
}
$sth->finish ();
} #########End, om för understödjatiden (för legitimationsarbetssedeln av det frambragda original spara), för SQL Queries arbetsbok########
}
}
}
$workbook->close ();
#exit;
om (- s $xls_file) {
tryck”\ n \ nFile att jämföras frambrings med icke-nollställt storleksanpassar. \ n \ n”;
}
annars {
tryck”\ n \ frambragt nFile är av nolla-storleksanpassar. Den Pls knipan utfärdar och regenererar dem igen, innan den jämför \ n \ n”;
}
Attachments:
för > | | | |