Energetik
Новичок
Проблема перевода строки при экспорте из php в excel
Привет вам! Имеется следующий скрипт экспорта:
Я пытаюсь найденное значение в БД поместить справа от соответсвующей в excel ячейки со смещением:
$cell = $sheets->Cells($srow, $scol + 1);
но так не получается, значение вставляется в 1-й столбец, либо во 2-й, если $cell = $sheets->Cells($srow, $scol + 2);
Подскажите пожалуйста как вставить значение справа в той же строке
Привет вам! Имеется следующий скрипт экспорта:
PHP:
//Выборка данных из БД
$strsql = "select * from nip.v_npo_r
where v_npo_r.kodfil = 10
and v_npo_r.sdate = '01.01.05'";
//Создание СОМ-объекта
$excel = new COM("Excel.application");
echo "Loaded excel, version {$excel->Version}\n";
$excel->Visible = 0;
$wkb = $excel->Workbooks->open("C:/Inetpub/wwwroot/aboyko/aaaaa.xls");
//Соединение с сервером
$db = ocilogon("user", "pwd", "server");
$stmt = ociparse($db,$strsql);
$ee="";
ociexecute($stmt,OCI_DEFAULT);
while ( OCIFetch($stmt) ) {
$sheets = $wkb->Worksheets(ociresult($stmt,"SHEET")); // активируем лист
$sheets->activate;
$cells = $sheets->Cells(); // $cells = все ячейки листа
if ($cell = $cells->Find(ociresult($stmt,"STR"))) { // если находим ячейку с значением равным ключу
$stradr = $cell->Address("ReferenceStyle:=xlR1C1"); // определяем адрес ячейки
echo "<br>adress=$stradr<br>";
$stradr = explode("$", $stradr);
$srow = $stradr[2]; // достаем из адреса номер строки
$scol = $stradr[1]; // достаем из адреса номер столбца
//echo "stroka=$srow column=$scol<br>";
$cell = $sheets->Cells($srow, $scol + 1); // активируем ячейку со СМЕЩЕНИЕМ
$cell->activate;
$cell->value = ociresult($stmt,"ZN"); // заполняем значением
}
//echo ociresult($stmt,"SHEET")."<br>";
}
OCIFreeStatement($stmt);
ocilogoff($db);
$file_name="C:/Inetpub/wwwroot/aboyko/otch/bbbbb.xls";//Получаем отчет
if (file_exists($file_name)) {unlink($file_name);}
$wkb->SaveAs($file_name); # saves sheet as final.xls
$excel->Quit();
$excel = null;
$cell = $sheets->Cells($srow, $scol + 1);
но так не получается, значение вставляется в 1-й столбец, либо во 2-й, если $cell = $sheets->Cells($srow, $scol + 2);
Подскажите пожалуйста как вставить значение справа в той же строке