Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Oracle->PHP->Excel (Spreadsheet_Excel_Writer)
 
 автор: gudzik   (24.09.2009 в 22:56)   письмо автору
 
 

Всем привет!!!
Пару дней назад взялся за реализацию небольшого прэкта по поребросу данных из Oracle в Excel средствами PHP и сразу наткнулся на кучу вопросов. Некоторые из них мне более-мение удалось решить самому а некоторые решил спросить у уважаемой аудитории.

За запись данных в Excel у меня отвечает следующий код :

$stmt = oci_parse($conn,$textarea);
$k=oci_execute($stmt, OCI_DEFAULT);
if (!$k) {
  $e = oci_error($stmt);
  echo htmlentities($e['message']);
  echo "<pre>";
  printf("\n%".($e['offset']+1)."s", "^");
  echo "</pre>";


$ncols = oci_num_fields($stmt);
        
$q=5;
while($row=oci_fetch_array($stmt)) {
    
    $q++;
      for ($i = 0; $i < $ncols; $i++) 
      $sheet->write($q,$i,$row[$i],$titleFormat3); 
}            



данные записываются отлично но при дальнейшем форматированию у меня возникают некие пробблемы. Никак не могу задать форматы отдельным частям ререзультата, как это сделано например в следующим коде:

// данные таблицы
$data = array(
  array('', 'Math', 'Literature', 'Science'),
  array('John', 24, 54, 38),
  array('Mark', 67, 22, 57),
  array('Tim', 69, 32, 58),
  array('Sarah', 81, 78, 68),
  array('Susan', 16, 44, 38),
);
 
// iподключаем пакет
include 'Spreadsheet/Excel/Writer.php';
 
// создаем пустой файл
$excel = new Spreadsheet_Excel_Writer('grades.xls');
 
// добавляем рабочий лист
$sheet =& $excel->addWorksheet('Class I');
 
// создаем формат для первой строки
// полужирный, красный с черной нижней границей
$firstRow =& $excel->addFormat();
$firstRow->setBold();
$firstRow->setColor('red');
$firstRow->setBottom(1);
$firstRow->setBottomColor('black');
 
// создаем формат для первого столбца
// голубой с черной правой границей
$firstCol =& $excel->addFormat();
$firstCol->setColor('blue');
$firstCol->setRight(1);
$firstCol->setRightColor('black');
 
// создаем формат для левого верхнего угла
$firstRowCol =& $excel->addFormat();
$firstRowCol->setBottom(1);
$firstRowCol->setRight(1);
$firstRowCol->setBorderColor('black');
 
// создаем формат для цифровых ячеек
$num =& $excel->addFormat();
$num->setNumFormat('0');
 
// создаем формат для средних значений
$avg =& $excel->addFormat();
$avg->setNumFormat('0.00');


$rowCount=0;
foreach ($data as $row) {
  for($colCount=0; $colCount<sizeof ($row); $colCount++) {
    if ($rowCount == 0 && $colCount == 0) {
      $format = 'firstRowCol';
    } else if ($rowCount == 0) {
        $format = 'firstRow';
    } else if ($colCount == 0) {
        $format = 'firstCol';
    } else {
        $format = 'num';
    }
    $sheet->write($rowCount, $colCount, $row[$colCount], $$format);
 }


научите кто может...

  Ответить  
 
 автор: Рома   (25.09.2009 в 01:39)   письмо автору
 
   для: gudzik   (24.09.2009 в 22:56)
 

/

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования