В цьому прикладі показано, як використовувати шаблон HTML для експорту даних (включно з картинками), умовною підсвіткою даних та агрегацією даних.

Припустимо, ми маємо певну таблицю зі списком продуктів, яка змінюється час від часу...

Table to export

...і ми хочемо експортувати її на регулярній основі до сторінки HTML з нашого сайту, використовуючи Database Tour:

Target web page

Спершу, нам потрібно приготувати шаблон для цільової веб-сторінки. Для цього використовуємо існуючий файл HTML або створюємо новий, роблячи весь необхідний дизайн.

В шаблоні створюємо специфічні динамічні зони для їх заповнення під час експорту.

1. Підготуємо атрибут HTML Заголовок (тег <Title>). Він буде заповнений з опції експорту Заголовок документу. Використовуємо макрос vle_expr для цього:

<title><!--vle_expr(doc_title)--></title>

2. Підготуємо заголовок розділу. Він буде заповнений з опції експорту Заголовок документу. Використовуємо макрос vle_expr для цього:

<h2><span style="color: #993300"><!--vle_expr(doc_title)--></span></h2>

3. Підготуємо таблицю. Вона буде заповнена з набору даних - джерела. Це найскладніший етап підготовки.

Під строчкою заголовку таблиці вставляємо макроси vle_loop_start та vle_loop_end. Між ними вставляємо елементи HTML та макроси vle_expr, які будуть формувати одну строчку цільової таблиці. Всі ці елементи будуть виведені в цільовий документ для кожного запису набору даних - джерела.

Тут ми також додамо картинки з бази даних у першу колонку, і використаємо умовну підсвітку даних в другій колонці, використовуючи жирний шрифт (тег <b>) для розмірів, що більші від 1000 Kб.

<table>
<!--vle_loop_start(1, 'each_row_in_dataset', 0, 0)-->
<tr>
<td class="notes" style="width:28%; height:24px">
<!--vle_expr('<a href="' + dataset_field_val(1, 'webpage') + '">')-->
<!--
vle_make_img_tag(
1,
'icon',
'gif',
'',
'',
'',
dataset_field_val(1, 'descript'),
-1,
-1
)
--><!--vle_expr('</a>')-->

&nbsp;
<b><!--vle_expr(dataset_field_val(1, 'title'))--></b> </td>
<td class="notes" style="width:9%; height:24px; text-align:right">
<!--
vle_expr(
iif(
dataset_nvl(1, 'sizekb', 0) > 1000,
'<b>' + to_string(dataset_field_val(1, 'sizekb')) + '</b>',
to_string(dataset_field_val(1, 'sizekb'))
)
)
-->

</td>
<td class="notes_mini_thick_line" style="width:15%; height:24px"><!--vle_expr(dataset_field_val(1, 'category'))--></td>
<td class="notes" style="width:16%; height:24px"><!--vle_expr(dataset_field_val(1, 'language'))--></td>
<td class="notes_mini_thick_line" style="height:24px"><!--vle_expr(dataset_field_val(1, 'descript'))--></td>
</tr>
<!--vle_loop_end-->

4. Додаємо підвал таблиці для підсумків. Його буде заповнено агрегатними значеннями, розрахованими під час експорту.

Розміщуємо його перед тегом закриття таблиці.

<tr>
<td class="notes" style="height:32px; background:#FFFFBB"><b>Total size:</b></td>
<td class="notes" style="text-align:right; height:32px; background:#FFFFBB"><b>
<!--vle_expr(dataset_sum(1, 0, 'SizeKB'))--></b></td>
<td colspan="3" class="notes" style="height:32px; background:#FFFFBB">
<b>
Total products:&nbsp;<span style="color: #0000FF"><!--vle_expr(dataset_row_count(1, 0))--></span>,
and in your language:&nbsp;<span style="color: #0000FF">
<!--
vle_expr(
dataset_count_ex(
1, 0, 'language', 'pos(''en-US'', dataset_field_val(1, ''language'')) > 0'
)
)
-->

</span>
</b> </td>
</tr>
</table>

Шаблон готовий. Назвемо його products_template.html, наприклад.

У веб-переглядачі головна частина шаблону виглядатиме приблизно так:

HTML template

Далі повертаємося до програми і готуємо опції експорту. Клацаємо кнопку Експорт. З'явиться діалог Експорт. Вказуємо цільовий файл, файл шаблону та заголовок документу:

Налаштування експорту

Клацаємо кнопку Експорт і перевіряємо результат. У веб-переглядачі головна частина цільової сторінки виглядатиме приблизно так:

HTML template filled with data

Цього результату можна також досягнути з використанням командної строчки:

exptizer.exe /export /ExportType=HTML
"/DocTitle=Our Software Products"
/ExportStepNo=1 /TemplateFile=C:\MyWebSite\products_template.html
/SrcDBInterface=ado /SrcDBKind=DSN /SrcDBDriver=MySQL
/SrcDB=MySQLDB /SrcTableName=software_list
/TrgDB=C:\MyWebSite\products.html

або через файл операцій з наступним вмістом:

/export
/ExportType=HTML
"/DocTitle=Our Software Products"
/ExportStepNo=1
/TemplateFile=C:\MyWebSite\products_template.html
/SrcDBInterface=ado
/SrcDBKind=DSN
/SrcDBDriver=MySQL
/SrcDB=MySQLDB
/SrcTableName=software_list
/TrgDB=C:\MyWebSite\products.html

Див. також

 Експорт до HTML з використанням шаблона

 Движок виразів