Есть класс под названием Excel Writer с помощью которого можно с лёгкостью создать excel'евский файлик вот таким образом
include("excelwriter.inc.php"); $excel=new ExcelWriter("myXls.xls"); if($excel==false) echo $excel->error; $myArr=array("Name","Last Name","Address","Age"); $excel->writeLine($myArr); $myArr=array("Sriram","Pandit","23 mayur vihar",24); $excel->writeLine($myArr); $excel->writeRow(); $excel->writeCol("Manoj"); $excel->writeCol("Tiwari"); $excel->writeCol("80 Preet Vihar"); $excel->writeCol(24); $excel->writeRow(); $excel->writeCol("Harish"); $excel->writeCol("Chauhan"); $excel->writeCol("115 Shyam Park Main"); $excel->writeCol(22); $myArr=array("Tapan","Chauhan","1st Floor Vasundhra",25); $excel->writeLine($myArr); $excel->close(); echo "data is write into myXls.xls Successfully.";В папке со скриптом у меня появился файл myXls.xls , который открылся двумя экселями 2007 и 2003
Скачать класс:
http://www.phpclasses.org/browse/downloa
http://slil.ru/26310473
Для того чтобы читать таблицы созданные в excel'е вам понадобиться класс под названием Spreadsheet Excel Reader , для его работы необходим модуль PEAR, но на линукс хостинге у меня всё работало и так, без дополнительных установок. Еще в файле Excel/reader.php 31 строчку я заменил с
require_once 'Spreadsheet/Excel/Reader/OLERead.php';
на
require_once 'Excel/oleread.inc';
Пример у меня выглядел следующим образом:
require_once ('Excel/reader.php'); $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('cp-1251'); $data->setUTFEncoder('mb'); $data->read('filename.xls'); echo ('<table>'); for ($i = 1; $i < = $data->sheets[0]['numRows']; $i++) { echo('<tbody><tr>'); for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) { echo ('<td>'.$data->sheets[0]['cells'][$i][$j].'</td>'); } echo('</tr>'); } echo ('</tbody></table>');Скрипт отлично распарсил созданный мною файл и выдал на экран такую же таблицу только в HTML'е.
Скачать класс:
http://downloads.sourceforge.net/phpexce
Я бы не советовал организовывать серьёзные проекты на классе Spreadsheet Excel Reader , т.к. во время поиска увидел массу людей не довольных его работой, он плохо справляется с файлами состоящих из нескольких листов или с вычисляемыми полями. Встретил одну коммерческую разработку, которая творит чудеса и даже разбивает результат по листам ,вот демо проекта.
Источник
Как сделать, чтобы числа выводились с отделением тысяч?
ОтветитьУдалить1 000
Как вариант, использовать функцию number_format, например:
ОтветитьУдалить$myNumber = 123456.784321;
// Выводит "123 456,78"
echo number_format( $myNumber, 2, ',', ' ' );
Я вывожу русские слова так:
ОтветитьУдалить$myArr=array("Номер","Имя","Фамилия","Почта");
$excel->writeLine($myArr);
но в Excel документе получаю какието кракозябры