Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Экспорт массива в Excel
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Экспорт массива в Excel

Страниц (1): [1]
 

1. mityaj - 25 Апреля, 2012 - 16:15:15 - перейти к сообщению
Вот такой способ, вроде все работает, если массив самому прописать, а если он генерируется - ошибка файла xls
Что посоветутет?
PHP:
скопировать код в буфер обмена
  1. <?
  2. $hostname='localhost';
  3. $username='root';
  4. $password='';
  5.    $con = mysql_connect($hostname,$username,$password);
  6.       if (!$con)
  7.   {
  8.   die('Could not connect: ' . mysql_error());
  9.   }
  10. $dbname='db';
  11. mysql_select_db($dbname,$con);
  12. $sql="SELECT * FROM patients";
  13. $result = mysql_query($sql);
  14.  
  15. // Внедрение PEAR::Spreadsheet_Excel_Writer
  16. require_once "Spreadsheet/Excel/Writer.php";
  17.  
  18. // Создание случая
  19. $xls =& new Spreadsheet_Excel_Writer();
  20.  
  21. // Отправка HTTP заголовков для сообщения обозревателю о типе вxодимыx //данныx
  22. $xls->send("test.xls");
  23.  
  24. // Добавление листа к файлу, возвращение объекта для добавления данныx
  25. $sheet =& $xls->addWorksheet('Binary Count');
  26.  
  27. while ($row = mysql_fetch_assoc($result))
  28. {
  29.    // Использование функции PHP decbin()для преобразования целого числа в //бинарные данные
  30.      $sheet->writeCol(0,0,$row[0],$colHeadingFormat);
  31.      $sheet->writeCol(0,1,$row[1],$colHeadingFormat);
  32.      $sheet->writeCol(0,2,$row[2],$colHeadingFormat);
  33.      $sheet->writeCol(0,3,$row[3],$colHeadingFormat);
  34.      $sheet->writeCol(0,4,$row[4],$colHeadingFormat);
  35.      $sheet->writeCol(0,5,$row[5],$colHeadingFormat);
  36.      $sheet->writeCol(0,6,$row[6],$colHeadingFormat);
  37.      $sheet->writeCol(0,7,$row[7],$colHeadingFormat);
  38.      $sheet->writeCol(0,8,$row[8],$colHeadingFormat);
  39. }
  40.  // Определение некоторого форматирования
  41. $colHeadingFormat =& $xls->addFormat();
  42. $colHeadingFormat->setBold();
  43. $colHeadingFormat->setFontFamily('Helvetica');
  44. $colHeadingFormat->setBold();
  45. $colHeadingFormat->setSize('10');
  46. $colHeadingFormat->setAlign('center');
  47.  
  48. $xls->close();
  49. ?>
2. DlTA - 25 Апреля, 2012 - 16:18:59 - перейти к сообщению
если не критично стили то сохранять в csv
3. mityaj - 25 Апреля, 2012 - 16:24:31 - перейти к сообщению
а что в Excel сложней?
в принципе и в csv можно
4. DlTA - 25 Апреля, 2012 - 16:27:15 - перейти к сообщению
csv это файл
в котором ячейки одтелены точной с запятой, а строки с новой строки
http://www.php.su/functions/?fputcsv
5. mityaj - 25 Апреля, 2012 - 16:48:32 - перейти к сообщению
я это знаю. а с excel сложней что ли?
6. DlTA - 25 Апреля, 2012 - 21:07:46 - перейти к сообщению
подключать дополнительные класс,
а в чем ошибка то?
7. mityaj - 26 Апреля, 2012 - 09:51:31 - перейти к сообщению
ошибка файла: данные могут быть утеряны.
или как-то так.
Если массив самому прописать - все ок.
а вот если использовать данные из mysql - почему-то не пашет
8. Alho - 26 Апреля, 2012 - 11:24:17 - перейти к сообщению
Быть может в том, что ты передаешь ему в данном случае ассоциативный массив.
Заюзай
.

 

Powered by ExBB FM 1.0 RC1