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

Форум PHP

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

 

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

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

тема: Генератор excel, pdf квитанций
 
 автор: Exorc   (20.07.2009 в 06:22)   письмо автору
 
 

Всем привет. Возникла такая необходимость ,
при оформлении заказов в магазине,человеку присылается счет ,изначально было в html форме(тут все просто и банально), начальство это не устраивает.
Сказали надо либо excel,либо pdf.
Никогда не сталкивался с этим. На разработку уйдет временя которого нету.
Есть какие нить заготовочные скрипты которые бы упростили жизнь слегка.
Заранее спасибо =)

  Ответить  
 
 автор: Dobrynin   (20.07.2009 в 06:30)   письмо автору
 
   для: Exorc   (20.07.2009 в 06:22)
 

есть один способ, но муторный до безобразия.
попробуй почитать про Spreadsheet_Excel_Writer
как делать pdf точно не скажу, не возникало такой задачи.

могу сказать на последок только одно, здесь тебе никто больше не ответить на этот пост т.к. они тут гении по md5 не больше =)

  Ответить  
 
 автор: Exorc   (20.07.2009 в 06:31)   письмо автору
 
   для: Dobrynin   (20.07.2009 в 06:30)
 

Хорошо спасибо ) по Spreadsheet уже читаю)))

  Ответить  
 
 автор: Саня   (20.07.2009 в 08:39)   письмо автору
1.2 Кб
 
   для: Dobrynin   (20.07.2009 в 06:30)
 

А можно без запарки использовать html.
Откройте аттач в экселе.
А потом в блокноте.

Этот файл я сам только что руками набил (за исключением xml и стиля).

  Ответить  
 
 автор: Trianon   (20.07.2009 в 08:44)   письмо автору
 
   для: Саня   (20.07.2009 в 08:39)
 

Остается запинать туда картинки.
Есть, впрочем, схема data: ...

  Ответить  
 
 автор: Саня   (20.07.2009 в 09:17)   письмо автору
6.7 Кб
 
   для: Trianon   (20.07.2009 в 08:44)
 

Мне кажется, что такие простые вопросы должны исходить не от Вас. =/

  Ответить  
 
 автор: Trianon   (20.07.2009 в 09:26)   письмо автору
22.6 Кб
 
   для: Саня   (20.07.2009 в 09:17)
 

А они исходили?
Мне тоже кажется, что такие ответы , как последний (см.аттач), должны исходить не от Вас.

  Ответить  
 
 автор: Саня   (20.07.2009 в 09:30)   письмо автору
29.6 Кб
 
   для: Trianon   (20.07.2009 в 09:26)
 

Видать, старый офис не поддерживает MHT. Мне кажется, автору темы не понадобятся картинки и настолько глубокая обратная совместимость.

  Ответить  
 
 автор: Trianon   (20.07.2009 в 09:35)   письмо автору
 
   для: Саня   (20.07.2009 в 09:30)
 

Автору и так не особо нужно. Нужно заказчику.
Счета обычно выставляются за пределы конторы.
А диктовать наружу кому какой офис применять - занятие малоперспективное. Хотя и увлекательное в чем-то, да.

К слову сказать, не подумайте, что я специально сносил и что-то старое ставил.
Чем стояло, тем и посмотрел.

Да . Насчет картинок.
Картинки - это как минимум логотип. А как максимум - печать и подпись.

  Ответить  
 
 автор: ntro123   (20.07.2009 в 10:59)   письмо автору
 
   для: Exorc   (20.07.2009 в 06:22)
 

[поправлено модератором]

  Ответить  
 
 автор: Exorc   (21.07.2009 в 02:41)   письмо автору
 
   для: ntro123   (20.07.2009 в 10:59)
 

Всем спасибо за советы, лично я применил библиотеку Pear Для работы с Excel очень интересная вещь, можно попробывать и fpdf.=)

  Ответить  
 
 автор: Exorc   (22.07.2009 в 10:28)   письмо автору
 
   для: Exorc   (21.07.2009 в 02:41)
 

Разобрался с http://pear.php.net/package/Spreadsheet_Excel_Writer/docs
Кто нить знает как всатвить картинки?)
Например мне печать и логотип фирмы

  Ответить  
 
 автор: Саня   (22.07.2009 в 14:27)   письмо автору
 
   для: Exorc   (22.07.2009 в 10:28)
 

Вам нужен метод Worksheet::insertBitmap

  Ответить  
 
 автор: Exorc   (22.07.2009 в 15:57)   письмо автору
 
   для: Саня   (22.07.2009 в 14:27)
 

Спасибо.И еще вопрос

Я объединил ячейки setMerge.
Например из 5 горизонтальнях ячеек. setmerge(0,0,0,5)
Когда я вставляю туда текст с со стилем bottom или top ( чтобы нижняя линия была)
То линия будет лишь на первой ячейки(по разметке) а последние 4 без линии.
Конечно можно в каждую вручную проиписывать.но это рутинная работа.
Есть чтобы сразу всю объеденную ячейку?

  Ответить  
 
 автор: kamat0z   (22.07.2009 в 10:55)   письмо автору
 
   для: Exorc   (20.07.2009 в 06:22)
 

в качестве файлов exel'я можно использовать файлы csv (файл разделенный запятыми)

  Ответить  
 
 автор: Exorc   (22.07.2009 в 11:34)   письмо автору
 
   для: kamat0z   (22.07.2009 в 10:55)
 

например?
Если я вот уже сделал готовый скрипт который выдает файл


<?php
//ini_set('include_path', '/pear/');
require_once "../pear/Spreadsheet/Excel/Writer.php";


// Создание случая
$xls =& new Spreadsheet_Excel_Writer();
$xls->setTempDir(ini_get('upload_tmp_dir'));
// Создаем лист
$cart =& $xls->addWorksheet('Счет');

//Определяем наши переменные
$cellrow=0;
$attention='Какойто текст !   ';

//Конец


//Шапка с предупреждением
$attentionFormat=& $xls->addFormat();
$attentionFormat->setFontFamily('Arial');
$attentionFormat->setSize(8);
$attentionFormat->setAlign('merge');
/*$attentionFormat->setHAlign('center');
$attentionFormat->setVAlign('top');*/
$attentionFormat->setTextWrap();
$cart->setRow($cellrow,45);

$cart->write($cellrow,0,$attention,$attentionFormat);








$xls->send("Bill.xls");
$xls->close();
?>

Как быть.

  Ответить  
 
 автор: ols   (22.07.2009 в 16:37)   письмо автору
 
   для: Exorc   (22.07.2009 в 11:34)
 

Еще неплохая вещь для создания отчетов в екселе - http://www.codeplex.com/PHPExcel

  Ответить  
 
 автор: Usta   (23.07.2009 в 00:11)   письмо автору
 
   для: ols   (22.07.2009 в 16:37)
 

[поправлено модератором]

  Ответить  
 
 автор: Exorc   (23.07.2009 в 04:29)   письмо автору
 
   для: Usta   (23.07.2009 в 00:11)
 

Сделал.спасибо.
ТЕперь последнее до этого я делал чтобы файл сразу отсылался клиенту в браузере

<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook =& new Spreadsheet_Excel_Writer(');
$worksheet =& $workbook->addWorksheet('
My first worksheet');
$workbook->setTempDir('
/bill/');
$worksheet->write(0, 0, "did this work?");

$workbook-->send("Bill.xls");
$workbook->close();
?>

Как сделать чтобы сохранялся файл на в директорию?

  Ответить  
 
 автор: Usta   (23.07.2009 в 12:06)   письмо автору
 
   для: Exorc   (23.07.2009 в 04:29)
 


<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook =& new Spreadsheet_Excel_Writer('bill/Bill.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');

$worksheet->write(00"did this work?");

$workbook->close();
?> 

Папка "bill" должна быть создана!

  Ответить  
 
 автор: Exorc   (23.07.2009 в 17:05)   письмо автору
 
   для: Usta   (23.07.2009 в 12:06)
 

Создана и с правами! А оно не записывается! ТОлько в ту директорию где лежит скрипт ХОТЯ УКАЗАНА папка БИЛЛ И СКРИПТ в ПАПКЕ excel , указываешь билл и а пишется в Excel)) Вот так)

  Ответить  
 
 автор: Usta   (23.07.2009 в 19:01)   письмо автору
 
   для: Exorc   (23.07.2009 в 17:05)
 

папка 'bill' должна быть в той же директории что и выполнение скрипта.

  Ответить  
 
 автор: Exorc   (24.07.2009 в 03:01)   письмо автору
 
   для: Usta   (23.07.2009 в 19:01)
 

попробуем) но вроде пробывал.

  Ответить  
 
 автор: Exorc   (11.08.2009 в 13:10)   письмо автору
 
   для: Exorc   (24.07.2009 в 03:01)
 

Подскажите как правильно пользовать
Worksheet::insertBitmap
Лезут слеудющие ошибки

Warning: filesize() [function.filesize]: stat failed for http://ats-dv.com/bill/sign.bmp in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3375

Warning: fread() [function.fread]: Length parameter must be greater than 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3375

Warning: unpack() [function.unpack]: Type A: not enough input, need 2, have 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3383

Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3394

Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3404

Warning: unpack() [function.unpack]: Type v: not enough input, need 2, have 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3416

Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /usr/local/share/pear/Spreadsheet/Excel/Writer/Worksheet.php on line 3426

  Ответить  
 
 автор: Exorc   (11.08.2009 в 13:11)   письмо автору
 
   для: Exorc   (11.08.2009 в 13:10)
 

Сам код

<?php
 
require_once '../pear/Spreadsheet/Excel/Writer.php';


 
$n=mt_rand(0,1000);
$workbook = new Spreadsheet_Excel_Writer('../bill/test'.$n.'.xls');
$worksheet =& $workbook->addWorksheet('My first worksheet');
$workbook->setTempDir('bill/');
$worksheet->setRow(0,70);
$worksheet->setColumn(0,0,50); // row 0 col 0
$worksheet->setColumn(1,0,50); // row 0 col 1


$worksheet->insertBitmap(00"http://ats-dv.com/bill/sign.bmp"0011);
$workbook->close();
?>

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

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