Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » phpmaker

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

jamix



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
будет рассмотрен пример по экспорту в ворд(в эксел не чуть не труднее)
 
 
 
Добавлено:
качаем файлы плагина
 
 демо там же
 
 
   
добавляем файлы в папку проекта
   
добавляем экспорт в ворд в проекте  у меня будет выводиться запись из таблицы
   
выбираем таблицу выбираем секцию page_exporting и заменяем код как на рисунке return FALSE;
   
 
в секцию вставляем свой код экспортируем как массив а.
function Row_Export($rs) {
 
    include_once('tbs_class.php'); // Load the TinyButStrong template engine
    include_once('tbs_plugin_opentbs.php'); // Load the OpenTBS plugin
 
    // prevent from a PHP configuration problem when using mktime() and date()
    if (version_compare(PHP_VERSION,'5.1.0')>=0) {
        if (ini_get('date.timezone')=='') {
            date_default_timezone_set('UTC');
        }
    }
 
    // Initialize the TBS instance
    $TBS = new clsTinyButStrong; // new instance of TBS
    $TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load the OpenTBS plugin
 
    // Retrieve the user name to display
    // A recordset for merging tables
    // -----------------
    // Load the template
    // -----------------
 
    $template = 'forma_temp.docx'; // файл на сервере шаблон
    $TBS->LoadTemplate($template, OPENTBS_ALREADY_UTF8); // Also merge some [onload] automatic fields (depends of the type of document).
    $F5=' '.$rs["F51"].' '.$rs["F52"].' '.$rs["F53"].' '.$rs["F54"];
    $data = array();
    $data[] = array('F1'=>$rs["F1"] ,'F2'=>$rs["F2"] , 'F3'=>$rs["F3"]  ,'F5'=>$F5    , 'F4'=>$rs["F4"], 'F6'=>$rs["F6"]);
 
    // Merge data in the body of the document
    $TBS->MergeBlock('a', $data);
$output_file_name = 'forma.docx';
 
    //$TBS->Show(OPENTBS_DOWNLOAD, $output_file_name); //этот не получился
    $TBS->Show(OPENTBS_FILE, $output_file_name); //сформировали файл на сервере
    
    header("Pragma: public");  
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); // нужен для некоторых браузеров
    header('Content-Type: application/vnd.ms-word' . ((EW_CHARSET <> "") ? ";charset=" . EW_CHARSET : ""));
    header('Content-Disposition: attachment; filename=' . $output_file_name);
    // прочитали и удалили
if (@readfile("$output_file_name")) {  
        unlink("$output_file_name");  
    }
    exit();
}
 
 
 
   
 
вот пример вордовского файла
 
 
   
в таблице запись выбираем галочкой и нажимаем экспорт

Всего записей: 67 | Зарегистр. 20-09-2003 | Отправлено: 16:30 04-07-2017 | Исправлено: jamix, 22:10 04-07-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jamix
и к чему это?

Всего записей: 15023 | Зарегистр. 20-09-2014 | Отправлено: 06:20 05-07-2017
jamix



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mavrikii
 
тема создана как ссылка из варезника, для того чтобы не флудить не по теме

Всего записей: 67 | Зарегистр. 20-09-2003 | Отправлено: 16:05 05-07-2017
Zet13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Класс ! Спасибо !

Всего записей: 41 | Зарегистр. 26-12-2003 | Отправлено: 20:08 05-07-2017
Zet13

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стояла задача в готовый шаблон WORD вставлять поля БД. Ну там, номер договора, адрес, дата и т.д...  
Информации изложенной выше не было, выдаваемый всем официальным покупателям "Export2Word" у меня по понятным причинам отсутствует
Изменил шаблон вывода. При открытии записи для просмотра ее уже показывает по шаблону. Вот что получилось :  

Как сделать:
1. Мне была нужна возможность экспорта всей таблицы в Excel, а отдельной записи в Wоrd. Если вас устроит только экспорт выбранной записи в Word, то заморачиваться с этим пунктом не надо - читайте следующий. При просмотре вид можно сохранить в word. Кнопка excel тут отсутствует. А вот в основном листе как раз есть экспорт в еxcel, но нет кнопки word.  
Стандартные настройки это сделать не позволяют :

Это пришлось делать вручную редактируя файлы *list.php и *view.php  в корне проекта.  
в них нужно найти соответствующие строки и enable исправить на false.  
Вот так:   $item->Visible = FALSE;
2. Шаблон вставляется штатными средствами в виде html разметки :

Обратите внимание как вставляются значение полей базы.
Если в БД имеется поле telefon, значение которого нужно вставить в шаблон, то вставлять нужно так :
{{{value telefon}}}
Кстати, это описано в хелпе.
3. Единственная заморочка в том, что после этих манипуляций вордовский файл содержит кракозябры.
Лечится так : файл *view.php нужно пересохранить в кодировке 1251 каким нибудь редактором.

Всего записей: 41 | Зарегистр. 26-12-2003 | Отправлено: 10:16 06-07-2017 | Исправлено: Zet13, 07:21 28-11-2017
jamix



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
не догадался, тоже вариант подставить свой шаблон, думаю с экселем нужно все равно через плагин.
 Единственный минус нужно ковыряться в файлах сгенерированных,

Всего записей: 67 | Зарегистр. 20-09-2003 | Отправлено: 10:50 06-07-2017 | Исправлено: jamix, 10:53 06-07-2017
Wolfrm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jamix
Может поможешь?
у меня через TBS выгружает дату в формате Y-m-d, а надо d.m.Y  
не подскажешь как?

Всего записей: 202 | Зарегистр. 24-03-2006 | Отправлено: 04:38 27-09-2017
jamix



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
jamix  
Может поможешь?  
у меня через TBS выгружает дату в формате Y-m-d, а надо d.m.Y  
не подскажешь как?

'R23'=>ew_FormatDateTime($rs["R23"], 7)
 
менял функцией phpmakera

Всего записей: 67 | Зарегистр. 20-09-2003 | Отправлено: 14:06 19-03-2018 | Исправлено: jamix, 14:07 19-03-2018
Wolfrm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jamix
Приветствую!  
в PHPMaker 2019 TBS не пробовал?

Всего записей: 202 | Зарегистр. 24-03-2006 | Отправлено: 07:02 01-04-2019
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » phpmaker


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru