The plugin simplifies report generation, offering a streamlined solution for creating Word and Excel documents. Seamlessly integrated with wpDataTables, this tool enhances data presentation through efficient report building capabilities. Its advanced features empower users to effortlessly craft professional reports directly from their WordPress site.

Plugin Version: 2.3.0
 
WordPress plugin CodeCanyon Report Builder

Plugin Features

The plugin provides users with the capability to generate detailed reports in Word Docx and Excel Xlsx formats through wpDataTables. It empowers users to create customized and comprehensive reports that cater to their specific needs seamlessly. By seamlessly integrating into WordPress, it enhances the reporting functionalities for wpDataTables users, offering a robust solution for data representation and analysis. With its efficient features and user-friendly interface, it simplifies the process of generating complex reports while ensuring accuracy and efficiency.

Boasting a range of functionalities such as customizable templates and dynamic data handling, this plugin excels in facilitating the creation of professional reports with ease. Its ability to handle large data sets and produce visually appealing reports makes it a valuable asset for businesses and individuals seeking advanced reporting solutions. The intuitive nature of the tool ensures that users of all levels can navigate through the report-building process effortlessly, without compromising on the depth and relevance of the generated reports.

The plugin streamlines the report creation process by offering a wide array of customization options, enabling users to tailor reports according to their specific requirements. From choosing data sources to selecting report elements and formatting options, it provides a comprehensive set of tools to create reports that are both informative and visually engaging. By automating repetitive tasks and offering dynamic reporting capabilities, it significantly reduces the time and effort required to generate reports, making it a highly efficient and productive tool for WordPress users.

Moreover, CodeCanyon Report Builder seamless integration with wpDataTables ensures a smooth transition between data management and report generation. This integration enhances the overall user experience by allowing for real-time data updates and ensuring data consistency across reports. The seamless communication between wpDataTables and the plugin maximizes the potential of both tools, resulting in a synergistic reporting solution that meets the diverse needs of users. With its advanced features and innovative approach to report building, the plugin stands out as a reliable and versatile tool for WordPress users looking to elevate their reporting capabilities.

In conclusion, the plugin offers a comprehensive and efficient solution for report building within the WordPress environment. Its seamless integration, advanced features, and user-friendly interface make it a valuable asset for businesses and individuals seeking to create informative and visually appealing reports effortlessly. By combining the power of wpDataTables with advanced reporting functionalities, it provides users with a robust tool to streamline their reporting processes and enhance their data analysis capabilities.

Specifications:

Release date: 12-07-2019
Last updated: 15-12-2025
Type: Paid
License: GPL 
Subject: Directory & Documentation
Compatibility: W5.x W6.x
Includes: Plugin
Language packs: English
Developer: CodeCanyon

Rating:
4.490099009901 1 1 1 1 1 (202 Votes)

Download by subscription!

You need to log in on the site and purchase a club subscription!

Share with your friends!

 

CodeCanyon Report Builder Guide: DOCX and XLSX Templates from WordPress Data

CodeCanyon Report Builder is not meant for a basic table-to-file export. It is built for a more specific job: take data from WordPress, merge it with a prebuilt Word or Excel document, and deliver a finished report, contract, invoice, list, letter, or other properly formatted file to the user. This guide takes a practical approach to the plugin: what to check before installation, how to build your first report, where variable mistakes happen most often, how single and bulk documents differ, how to place the elements on a page, and how to verify the result before handing it over to users.

The plugin is closely tied to wpDataTables. Official materials describe it as an add-on for generating DOCX and XLSX files from wpDataTables tables, including filtering, sorting, and bulk export by row. At the same time, the documentation also shows scenarios with no source table, where the file is built entirely from user fields and predefined variables. So the most accurate way to think about the product is as a document builder: wpDataTables provides the structured data source, and Report Builder injects that data into the template.

This is not a reworded product listing. It is structured as a working guide: from choosing the right scenario and preparing the table to diagnosing issues like "variables are still visible in the file," slow ZIP generation, and download button problems. If you already use wpDataTables for applications, transactions, rosters, academic results, or internal reporting, this guide will help you understand when Report Builder truly saves time and when a different approach would make more sense.

CodeCanyon Report Builder turns a wpDataTables table into DOCX and XLSX reports
The core product logic: data from a table or form flows through a template and becomes a finished document.

What Report Builder Does Alongside wpDataTables

A standard table export answers a simple question: "How do I download what I see in the table?" Report Builder solves a different problem: "How do I turn data into a document with a predefined structure, branded formatting, and repeatable logic?" That distinction matters. In a CSV or a standard Excel export, the user gets a set of rows and columns. In Report Builder, they get a file where the data is already in the right place: the client name in the contract header, the list of items in the invoice table, the total in the summary row, the employee name in an individual certificate.

According to the available sources, the product supports two main output formats: DOCX and XLSX. That makes it useful for teams that need the final file to remain editable in familiar office software. If you specifically need fixed-output PDF delivery, keep the limitation in mind upfront: public materials describe Report Builder in terms of Word and Excel, and separate user requests for PDF output appear as feature requests rather than confirmed functionality.

The main mechanism revolves around variables. You prepare a template in Word or Excel and place expressions such as ${client}, ${today}, ${product.all}, or ${formula_1.total} wherever needed. The plugin pulls values from the selected wpDataTable, from additional fields on the page, or from predefined WordPress data, and inserts them into the file. The quality of the final report almost never depends on a "secret setting." It depends on a clean template and variables that match the actual column headers.

The second layer is the generation logic you choose. A single file collects data from the full table or the current filtered dataset into one document. Bulk mode creates a separate file for each row and packages the result into a ZIP archive. These are fundamentally different scenarios. A single report works well for sales summaries, operation logs, registration sheets, or task tables. Bulk generation works well for client letters, student certificates, individual offers, certificates, or internal employee records.

Where the Plugin Is Especially Useful

Report Builder is a strong fit for projects where data already lives in tables and the same manual task keeps repeating: open Word or Excel, copy values, change the name, date, rows, and total, save the file, send it to someone. If that process happens dozens of times, the plugin removes the manual copying and reduces the risk of human error.

  • A finance team can build summary XLSX reports based on transactions filtered in a table.
  • A training center can export DOCX certificates or letters row by row from a results table.
  • A sales department can create personalized offers from a list of clients and managers.
  • A site handling applications can generate printable contracts or forms from user fields without a separate wpDataTables source.
  • An internal portal administrator can give employees a document download button right on the table page.

That said, the plugin is not a replacement for a BI platform, visual analytics, secure document workflow, e-signatures, or a complex approval workflow system. Its strength is practical automation of files that already have a clear template and well-defined data to merge into it.

Who This Plugin Fits, and When You Should Look Elsewhere

The ideal Report Builder user is a site owner or developer who already understands the structure of their data. If a table in wpDataTables is built from CSV, Excel, Google Sheets, a database, or a form, and the final document can be defined in advance as a template, the plugin gives you a direct path from table to file.

Non-developers can also work with it successfully, but only if they are comfortable handling Word and Excel carefully. There is no heavy programming here, but the template rules are strict. In DOCX, variables can be placed in text, tables, and repeatable blocks. In XLSX, a variable must be the only content in a cell, or the plugin may fail to recognize it. That is not a flaw, just part of how it works: an Excel template has to be prepared like a form, with separate cells for dynamic values.

Report Builder is worth considering if you need to:

  • Generate DOCX or XLSX files from wpDataTables data without manual copying.
  • Use your own corporate Word or Excel files as the report base.
  • Provide users with a report download button on a WordPress page.
  • Build one shared document from filtered table rows.
  • Create separate row-based documents and receive them as a ZIP archive.
  • Add user fields before download, such as a client name, document number, or comment.

You should look at a different solution if you need a PDF builder with a visual editor, scheduled emails with attachments, full document workflow with approvals, e-signatures, complex conditional logic inside the document, or generation from multiple independent tables within one template. The Report Builder documentation explicitly notes a limitation: a report can reference only one wpDataTable. That is fine for many use cases, but for a complex report that pulls from multiple sources, you will need to prepare a combined table in advance or choose a more specialized tool.

Practical takeaway: if the final output needs to be a Word or Excel file and your data already lives in a single wpDataTable, Report Builder is a very good fit. If you need PDF automation, email workflows, signatures, or multi-source assembly, compare alternatives first.

What to Check Before Installation

Before you install anything, it is worth spending half an hour on an inventory check. That is much faster than trying to figure out later why the report downloads empty, why ZIP generation takes too long, or why strings like ${client} are still visible in the file. Your review should cover not just WordPress, but also the data, the template, user permissions, and the expected volume.

Platform Requirements and the wpDataTables Dependency

The official add-on page says that integration with tables requires the premium version of wpDataTables and a separate Report Builder license. The documentation also shows modes that work without a source table, but if your goal is to generate reports from wpDataTables data, the first thing to verify is that wpDataTables is installed and working properly. Open the table in the admin panel, make sure it loads without errors, confirm the filters work, check that the required columns are visible, and make sure the original column headers are clear.

If the table is built from an external source, verify the data refresh before you configure the report. Report Builder inserts whatever data it receives through the table integration. If the table itself is stale, incorrectly cached, or no longer sees the source, the report will be wrong too. This matters especially for tables built from Google Sheets, CSV, SQL queries, or APIs: stabilize the table first, then build the document.

Permissions, Security, and the Public Page

Think about who should be allowed to see the download button. The official page mentions role-based access control, but the actual policy still has to be designed on the site side. Do not place a report button on a public page if the table contains personal data, financial information, internal invoice numbers, or academic results. Put the page behind authentication, review WordPress roles, and test access separately with a user who does not have administrative privileges.

If the report is built from the current table filter, make sure the user cannot access extra rows through another table view, a direct link, or a misconfigured wpDataTables setup. Report Builder should never become a backdoor to data the user is not supposed to receive.

Server Limits

Generating a DOCX file is usually lighter than bulk-generating XLSX files. The bulk XLSX documentation warns that creating many Excel files can be resource-intensive and may hit script execution limits on some hosting environments. So before you launch on real data, test with a small sample, then a typical workload, then the maximum filter size you expect in production.

  • Check whether a single DOCX or XLSX file can be created from a few rows.
  • Test bulk generation on a small sample, such as a few rows.
  • Measure ZIP download time and archive size.
  • If XLSX generation is slow, compare whether DOCX or a single summary file can solve the same task.
  • After updating the plugin or wpDataTables, repeat the test with the same dataset.

Document Template

The most common technical trap is a template that looks polished but is not prepared according to the plugin rules. For DOCX, variables must not be split by Word into internal formatting fragments. For XLSX, the variable must appear alone in the cell. For a report based on all rows, you need variables with the .all suffix. For a per-row file, you use the regular column name without .all. Start with a simple template that uses two or three fields, and only then move your branded header, complex tables, and decorative styling into place.

Installation and a Safe First Validation

Installing Report Builder is similar to installing a standard premium WordPress plugin: upload the ZIP via Plugins -> Add New -> Upload Plugin, then activate it from the plugin list. The documentation also describes an FTP-based option if the admin upload fails. For a production environment, it is safer to repeat the installation on a site copy or staging environment first, especially if the reports will work with customer or order data.

After activation, do not jump straight into your full business workflow. Run a short initial validation first:

  1. Open the Report Builder section in the admin panel and confirm that the report creation wizard is available.
  2. Check whether the wizard can see the required wpDataTable on the first step.
  3. Create a test DOCX or XLSX file with one variable and upload it as the template.
  4. Download a preview using a small number of rows.
  5. Save the report and confirm that the shortcodes for the button and additional fields are generated.

If the plugin is installed but the wizard cannot see your tables, do not try to fix Report Builder first. Start with the table itself: is it published, does it have an ID, does it belong to a type that does not support the required operation, are important columns hidden, is there an error in the data source? Report Builder depends on whatever wpDataTables provides.

The documentation includes one important warning about updates: do not remove the old version with the delete button in the admin panel if you do not want to lose your reports. In practical terms, that means this: before a manual update, back up the files and the database, verify where templates and reports are stored, update on a site copy, and then generate a control report again. You cannot validate a report plugin update just by checking that "the site still opens." You need to download a real file and open it in Word or Excel.

CodeCanyon Report Builder wizard with table selection and report settings
The first practical step is to walk through the report wizard and make sure the data source, template, and preview are all connected.

The Five Steps of the Report Wizard and What Matters in Each One

The documentation describes report creation as a step-by-step wizard. There is no single global settings screen: each report is configured separately. That is helpful because an invoice, a letter, a register, and a contract may all require different sources, templates, variables, and buttons on the public page. But this model also requires disciplined naming. A few months later, you should still be able to tell which report belongs to which table.

Step 1: Choose the Data Source

The first step is selecting the wpDataTable that will act as the data source. If the report is built only from user input, the source can be skipped. For most CodeCanyon Report Builder scenarios tied to wpDataTables, the source matters because it provides the rows, columns, sorting, and filters.

Before selecting the table, open its settings and write down the origin header values for the columns you plan to use in the template. The display label can be polished and localized, but the variable in the template must match the original header shown in the column settings. If the table contains a column labeled "Client Name" but the origin header is stored as client, then the template must reference ${client}, not an arbitrary translation.

Step 2: Name, Generation Logic, Variables, and Filtering

The second step is the most important one. This is where you define the report name, choose the generation logic, add additional variables, and enable or disable Follow table filtering. For a single summary report, choose single file. For row-based documents, choose multiple file. Do not mix these models within one report, because they require different template variables.

Additional variables are used for data that does not exist in the table: a manager comment, invoice number, client name, offer expiration date, or a note to include in a contract. A variable can have a default value and an input field on the public page. That is useful when the table provides the core data and the user fills in a few extra fields before download.

The Follow table filtering setting is especially important for reports launched from a page that already contains the table. If it is enabled and the table is on the same page, the report uses the visible rows in the same order the user sees after filtering, searching, sorting, and pagination. If the setting is disabled, or the table is not located next to the Report Builder elements, the report may include the entire table instead. For user-facing reports built on a "what I see is what I download" expectation, enabling Follow table filtering should be a dedicated checkpoint in your process.

Step 3: Upload the Template

The third step is uploading the DOCX or XLSX template. The documentation recommends using the standard WordPress Media Library and keeping the file on the same domain. Do not upload the final branded template until you have verified the syntax with a small test document. That makes it much easier to tell whether the issue is in the template, the variable, or the data.

The template filename should not be cryptic. If the project includes multiple reports, agree on a naming pattern such as report-sales-summary-template.xlsx, client-letter-template.docx, or student-results-template.docx. The plugin does not require that, but it makes the site much easier to maintain.

Step 4: Preview and Revision Loop

Preview is not just a formality. This is the step where you can download a test file and check whether variables were replaced, whether rows repeat correctly, whether the Word table layout broke, whether Excel formulas shifted, and whether the document takes too long to generate. If something is off, go back, adjust the template or settings, and test again.

For large tables, it is better to run the preview on a limited number of rows. It is faster and safer. If the small-sample test works, then separately test the typical production volume. Bulk generation across all rows only makes sense when you are confident that filenames, variables, and the template will not produce a flood of useless documents.

Step 5: Shortcodes and Page Output

After you save the report, the wizard shows the shortcodes. These can output a download button, a save-to-media-library button, and input fields for additional variables. You can insert these elements manually, through the standard WordPress editor, or through WPBakery if the site uses it. One important detail: you do not necessarily have to copy the shortcodes right away from the wizard, because the documentation describes built-in ways to insert the elements later from the editor.

At this stage, it is useful to create a separate test page with the table and the report elements. Keep it private or access-restricted. Check how the form looks, whether the theme styles conflict with the button, whether the user can clearly understand what they are downloading, and whether the button is placed close enough to the table.

DOCX and XLSX Templates: Variables, Repeats, and Strict Rules

The template is the center of the entire process. Report Builder does not design the document for you in a visual editor. It takes your Word or Excel file and replaces variables with values. So a good template needs to be both visually polished for the user and technically predictable for the generator.

A basic variable looks like this:

${client}
${today}
${reportname}

Predefined variables such as ${today}, ${time}, ${creator}, ${generatorname}, ${sitename}, and ${reportname} come from WordPress and the current report. Additional variables are created in the wizard. Column variables come from the origin header of the selected wpDataTable.

Single Report for All Rows

When you need one file covering all rows, you use variables with .all. For example, if the table contains columns product, quantity, and price, then a summary XLSX or DOCX template may use variables like ${product.all}, ${quantity.all}, and ${price.all}. During generation, the plugin repeats values by row and inserts them into the required structure.

For numeric columns, the documentation shows totals variables such as ${formula_1.total}. That is useful for an invoice or report where you need the total from a calculated column. But a total only makes sense if the underlying column is truly numeric and the values in wpDataTables are handled correctly. If the number is stored as a string with extra characters, the result may differ from what you expect.

Bulk Report by Row

In multiple file mode, the template is filled separately for each row. Here, variables are usually written without .all: ${client}, ${managername}, ${accountnumber}. If you accidentally include .all in a template for bulk mode, the report logic becomes contradictory: you are asking for a separate file per row, but the variable describes a full set of values across the table.

ZIP filenames are controlled by the filename mask. The documentation shows variables such as ${reportname}, ${count}, and column values. For example:

${reportname}-${count}
${client}-welcome
${accountnumber}-${client}

In a real project, use a mask that helps identify files without opening them. For personal documents, it is better to use a stable identifier such as an application number or internal ID, then add a readable suffix. Do not rely only on a person's name: repeated surnames, spaces, special characters, and multiple languages make the archive harder to work with.

XLSX-Specific Rules

For Excel templates, the rule "one variable per cell" is critical. If a cell contains Client: ${client}, the plugin may fail to recognize the variable. A safer setup is to put the label "Client" in one cell and the value ${client} in a separate cell. Excel formulas can be used in the template, but test their behavior after data insertion.

If you are building a summary XLSX, do not overload the template with complex merged cells in the repeating row area. The simpler the table structure, the easier it is to diagnose problems. Branded styling, corporate colors, and a logo are best added after variables and repeats are working reliably.

DOCX-Specific Rules

In Word, variables can be placed more flexibly: in paragraphs, tables, letters, contracts, and row-based blocks. For a repeating block, the documentation shows the ${wpDataTable.row} and ${/wpDataTable.row} markers. These are used when rows should repeat as a text fragment rather than as a standard table. For example, a participant list with a separate mini-block for each person.

${wpDataTable.row}
Client: ${client.all}
Manager: ${managername.all}
Amount: ${amount.all}
${/wpDataTable.row}

The limitation here is important too: those markers must be placed on new lines, not on the same line as the content. If everything is written inline, the plugin may not recognize the repeatable block. For DOCX templates, it helps to turn on hidden character display in Word and confirm that the application has not broken the variable apart with formatting.

Variable rules in Report Builder templates for WordPress
Variables in the template must match the report mode: .all for a combined file, regular column names for per-row files.

Follow Table Filtering: When the Report Should Match the Visible Table

One of the most useful Report Builder features is the ability to generate a file from exactly the set of rows the user sees on the page after filtering, sorting, and choosing the number of visible rows. That turns the report from an administrative export of the whole database into a precise delivery tool: the user filters applications by department, period, or status and downloads a file for exactly that subset.

But this feature behaves as expected only when the required conditions are met. The wpDataTables table and the Report Builder elements must be on the same page. Follow table filtering must be enabled in the report. The user must be able to see the required number of rows. The documentation also warns that if the table contains more rows than are currently displayed, the hidden rows will not be included when the report is tied to the current view, unless the user switches the table to display all rows.

How to Explain This to Users

It is best not to place a long instruction on the report page, but a short practical note near the button helps a lot. For example: "The report will be generated from the rows currently visible in the table." If the site uses filters, add a simple sequence either in the page interface or in the text above the table: first apply the filter, then confirm the row count, then download the report.

If the report should always include the full table regardless of the current view, it is better to disable Follow table filtering and clearly name the button accordingly, such as "Download Full Report" or "Save Complete List." Do not combine those two behaviors under one button, or users will quickly lose trust in the exports.

Testing on a Dedicated Page

Create a table with obvious rows: different statuses, different managers, different totals. Generate the report in four states: no filter, filtered by status, after sorting, and after changing the number of displayed rows. Open each file and compare the row order and contents against what was visible on the page. If the report does not change after filtering, check the placement of the table and shortcodes, the Follow table filtering setting, and page caching.

Cache can interfere if the page with the table and button is aggressively optimized. For pages with personal reports, it is better to avoid full HTML caching for logged-in users or exclude that specific page from caching. You do not need to disable caching for the whole site, but the page where data changes by user or filter needs especially careful testing.

Additional Variables and User Fields on the Public Page

Not all data lives in the table. A document number, comment, offer expiration date, responsible person's name, letter note, or arbitrary text may need to be entered before generation. That is what additional variables are for in Report Builder. In the wizard, you define the variable, its default value, and whether it should appear as an input field on the page.

Additional fields are especially useful in mixed documents. For example, the table contains a list of products, quantities, and totals, while the manager enters the invoice number and client name before download. Or the table contains a participant list, while the coordinator enters a shared comment that will appear in every letter. This logic avoids changing the table just to accommodate a one-time field.

How to Output Elements via Shortcode

The documentation shows the basic shortcode for a download button:

[reportbuilder id=1 text="Download report" class="btn"]

To save the file into the Media Library, use the save type:

[reportbuilder id=1 type="save" text="Save report" class="btn"]

An additional variable field is output through element="varInput" and the variable name:

[reportbuilder id=1 element="varInput" name="notes" text="Please enter the notes" default="Pay upon receipt" class=""]

In a localized interface, you can change the button text and the field label, but the variable name must match the name defined in the wizard and inserted into the template. For example, if the template uses ${manager_note}, the field must pass the manager_note variable. Do not translate the technical variable name just to make it look nicer.

A Safe Way to Customize the Button Appearance

The documentation allows you to pass a CSS class in the shortcode. That is a safe customization point: you are not editing plugin code, just adding your own class and styling the button in the theme or through a custom CSS plugin. Example of an author-created adaptation:

[reportbuilder id=1 text="Download report" class="report-download-btn"]
.report-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 6px;
  background: #2f6fed;
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
}

.report-download-btn:hover,
.report-download-btn:focus {
  background: #1f55bf;
  color: #ffffff;
}

The basis for this tweak is the documented class attribute in the shortcode. The insertion point is the custom CSS area in the theme, child theme, or a safe CSS block in the site settings. Verification is straightforward: open the page with the button, confirm that the class is applied, hover over it, press Tab to test focus, and download the file. Rollback is just as simple: remove the CSS and restore the default class in the shortcode.

Practical Example: An XLSX Invoice from a Filtered Sales Table

Let’s walk through a scenario that clearly shows what the product is for. Suppose your site has an internal page for managers. wpDataTables contains a sales table with client, date, product, price, quantity, total, and tax. The manager filters the rows by client or time period and downloads a single Excel file that already contains the invoice header, line items, and total amounts.

Goal

Create one XLSX document that collects the visible rows from the table and inserts them into a branded template. The user should see the table, enter the invoice number and client name, click the button, and receive the file without manually copying rows.

Preparation

First, you need a working wpDataTable. It should contain columns with clear origin headers: client, date, product, price, quantity, formula_1 for the total, and formula_2 for tax. These names are only examples, but they must match the actual headers in your table. If the formulas in the table already calculate the total and tax, verify them in wpDataTables before connecting Report Builder.

Next, prepare the XLSX template. In the header, place your company’s static details, logo, and these fields:

Invoice number: ${invoicenumber}
Customer: ${customer}
Generated by: ${generatorname}
Date: ${today}

In the line-item area, use all-row variables:

${product.all}
${quantity.all}
${price.all}
${formula_1.all}
${formula_2.all}

In the totals area, add totals:

${formula_1.total}
${formula_2.total}

For XLSX, remember the key rule: every variable must be placed in its own cell. Labels such as "Product," "Quantity," and "Total" should stay in adjacent cells or in the table header.

Report Setup

  1. Open ReportBuilder -> Create a new report.
  2. On the first step, select the sales wpDataTable.
  3. On the second step, give the report a clear name, such as Sales invoice XLSX.
  4. Choose single file mode, because you need one combined file for the visible rows.
  5. Enable Follow table filtering if the report should reflect the current page filter.
  6. Create the additional variables invoicenumber and customer.
  7. Upload the XLSX template through the Media Library.
  8. Download a preview for a few rows and open the file in Excel.
  9. If the variables were replaced and the formulas look correct, save the report.

Place It on the Page

On the test page, place the wpDataTables table, and below it place the Report Builder elements: the invoice number field, the customer field, and the download button. If you use the WordPress editor, you can add the elements through the visual editor integration. If you need the manual route, the shortcode setup would look something like this:

[reportbuilder id=1 element="varInput" name="invoicenumber" text="Invoice number" default="" class="report-field"]
[reportbuilder id=1 element="varInput" name="customer" text="Customer" default="" class="report-field"]
[reportbuilder id=1 text="Download XLSX invoice" class="report-download-btn"]

Verify the Result

Filter the table by a single client and download the file. The report should contain only that client’s rows if Follow table filtering is enabled and the table is on the same page. Then change the filter, download a second file, and compare the rows. Verify that the invoice number and client name appear in the header, that the totals match the visible rows, and that the file does not still contain strings such as ${product.all}.

One nuance: if the report contains fewer rows than you expected, check the table’s displayed row count. When the report is tied to the current view, hidden rows may not make it into the file. If you need a report for all filtered rows, the user may have to switch the table to show all rows, or you may need to change the export scenario.

Example Report Builder workflow: table filter, user fields, and finished XLSX file
A practical workflow: filtering in the table, additional fields, and downloading a finished XLSX based on the current selection.

Bulk DOCX and XLSX: When You Need a ZIP by Row

Bulk generation is one of Report Builder’s strongest features, but it also demands more discipline. In this mode, each row of the wpDataTable becomes a separate document. The plugin then packages those documents into a ZIP archive. This approach is useful when you do not want to give the user a single combined register and instead need to prepare individual files.

Typical use cases include client letters, welcome documents, grade reports, employee cards, personalized offers, and partner notifications. The structure is the same in every file, but the values differ. In this scenario, choosing the filename mask correctly becomes especially important, otherwise it will be hard to tell which file belongs to whom once it is inside the archive.

How to Choose Between DOCX and XLSX for Bulk Generation

If the document looks like a letter, certificate, contract, diploma, or text-based notice, choose DOCX. It is usually easier to work with, and according to the documentation, bulk DOCX is generally the better choice when you do not specifically need an Excel table. If the document requires Excel formulas, a table model, calculations, or a workbook, choose XLSX, but test generation time against a realistic volume in advance.

The bulk XLSX documentation explicitly warns about high load and possible delays. So for bulk XLSX, do not start with hundreds of rows. Test a few files first, then dozens, then your maximum production scenario. If the server cuts the process off, consider reducing the selection size, switching to DOCX, splitting reports into batches, or moving heavy generation into an administrative workflow where the user understands the wait time.

Filename Mask as Part of UX

The filename is not a minor detail. When a user downloads a ZIP with dozens of documents, they should be able to find the right file quickly. The mask ${reportname}-${count} is safe as a starting point, but not very informative. The mask ${client}-welcome is clearer, but may create collisions. A more reliable approach is to combine an ID, the client, and the document type if those columns exist in the table.

${wdt_ID}-${client}-notice
${accountnumber}-${client}-summary
${studentid}-${lastname}-results

The plugin slugifies variables in filenames, but that does not remove the need for project hygiene. Do not use overly long values, confidential data fields, or free-form user comments in filenames. A good mask contains just enough data to distinguish the document, but does not expose unnecessary information if the archive is forwarded.

Publishing the Report on a WordPress Page

Once the report is saved, it still needs to be embedded correctly on the page. The most common mistake here is placing the download button away from its context. The user sees a button, but does not understand which filter is applied, which rows will go into the file, or whether they need to fill in the fields above. So the element layout on the page should reflect the logic of the report.

For a report based on the current table, the usual order works well: a short explanation, the table, wpDataTables filters, additional fields, and the download button. For a report with no table, the order is different: explanation, fields, button. If you also provide a save-to-media-library button, do not place it next to the regular download button without explaining the difference, because users may not understand what each one does.

WordPress Editor, WPBakery, and Manual Shortcodes

The documentation describes three approaches. In the standard visual editor, there is a Report Builder button that opens a selection window for the report and its elements. In WPBakery, you can add a Report Builder Element and choose the type: button or input. Manual shortcode placement is useful for a developer or administrator who wants tighter control over the page markup.

Which method to choose:

  • The visual editor is suitable for straightforward insertion without manually copying shortcodes.
  • WPBakery is convenient if the page is already built in that builder and you want to preserve the existing block structure.
  • Manual shortcodes are useful when the elements need to be inserted into a template, tab, protected page, or next to custom text.

Do not hide the shortcode inside complex tabs, popups, or dynamic blocks until you have tested generation thoroughly. Some themes and optimization tools can change script loading order, and Report Builder depends on the page elements being properly connected to the table and user input.

Minimum Page Validation Before Publishing

Before you make the page available to users, go through it as a regular visitor with the intended role. Filter the table, fill in the fields, download the file, open the document, verify the data, return to the page, change the filter, and download again. Then repeat the process with a user who should not have access. If that user can see the button or download the file, the access setup needs to be fixed before launch.

If the site uses caching, check the page in an incognito window and as a logged-in user. For personal reports, cache must be configured so one person cannot receive someone else’s HTML page or an outdated table. At that point, it is not just a usability issue, but a data security issue as well.

How to Verify That the Report Is Truly Ready for Use

Result verification should be formal, not just based on a quick visual check. Create a control table where you already know the correct totals, row count, and expected values. Then compare the document against the table. This kind of test takes very little time, but it quickly exposes incorrect variables, the wrong generation mode, disabled filtering, and formatting errors.

Control Dataset

For a single report, create 5 to 10 rows with different values. Add two rows for the same client, one row with an empty optional field, one row with a long name, and one row with non-English characters if your site actually works with that kind of data. Then check how those values appear in DOCX or XLSX.

For a bulk report, create several rows with similar names so you can test the filename mask. For example, two clients with the same last name or two projects with similar names. The archive should remain understandable without manually renaming files.

File Structure Validation

Do not open the document in just one application. If your target users work in Microsoft Word and Excel, test there. If part of the team uses LibreOffice, test there too. Report Builder generates DOCX and XLSX, but the display of a complex template may depend on the office editor. Avoid overly complex elements if the document needs to open reliably for different users.

In XLSX, check formulas, number formatting, column widths, line wrapping, and totals. In DOCX, check repeatable blocks, tables, page breaks, header, and footer. If a variable is still visible in the file as plain text, that almost always points to a problem with the name, syntax, or placement of the variable in the template.

User Workflow Validation

The user should not have to think like a developer. On the page, it should be clear which fields are required, what will be downloaded, and why the result depends on the filter. If an additional field affects the final file, its label should explain its purpose. For example, "Report Comment" is better than "Notes" on an English-language page, while the technical variable name inside the shortcode remains unchanged.

Validating the Report Builder result after downloading a DOCX or XLSX file
Final validation should go from the source table to the opened file: rows, variables, totals, and access permissions.

Troubleshooting: Variables, Filters, ZIP, and the Download Button

Report Builder usually does not fail "in general." It fails at a specific point in the chain: the table does not provide data, the template does not recognize the variable, the generation mode does not match the syntax, the page is cached, the server cannot build the archive in time, or the user does not have the right access. The best way to diagnose issues is by symptom.

The Finished File Still Shows Variables Like ${client}

Symptom: the document downloads, but instead of data you see ${client}, ${product.all}, or other markers.

Possible causes: the variable name does not match the column origin header, the variable was not created as an additional variable in the wizard, a single report is missing .all, a bulk report incorrectly uses .all, the XLSX variable is not alone in the cell, or Word split the variable through internal formatting.

What to check: open the wpDataTables column settings and compare the origin header to the template. Reduce the template to a single variable. For XLSX, move the variable into its own cell. For DOCX, retype the variable manually as plain text instead of copying it from a formatted source.

How to fix it: normalize the names, resave the template, upload it again in the wizard, and download a preview. If the variable is an additional one, check its name both in the wizard and in the shortcode input. Rollback means restoring the previous template and checking whether the error appears only in the new version of the file.

The Report Does Not Follow the Table Filter

Symptom: the user filters the table, but the downloaded document contains all rows or the wrong row order.

Causes: Follow table filtering is disabled, the table and Report Builder elements are not on the same page, the page is cached, the user can only see part of the rows because of pagination, or the report shortcode points to a different report ID.

What to check: create an obvious filter that leaves only one row and download the file. Then check the report ID in the shortcode, confirm the table is on the same page, and verify the setting in the wizard. If caching is enabled on the site, temporarily exclude the test page from caching and test again.

How to fix it: enable Follow table filtering for the report, place the table and button together, verify the displayed row count, and clear the page cache. If the report should always include the full table, do the opposite: disable Follow table filtering and rename the button so the user does not expect a filtered result.

Bulk XLSX Takes Too Long or Fails Midway

Symptom: the ZIP does not download, the page shows a loading state for too long, the server returns an error, or the user receives an incomplete archive.

The documentation warns that bulk XLSX can be a heavy operation. The problem is often not incorrect configuration, but the combination of row volume, template complexity, and hosting limits. Large selections, formulas, complex styling, and simultaneous generation by multiple users are especially risky.

What to check: reduce the selection with a filter down to a few rows, then gradually increase it. Compare DOCX and XLSX on the same dataset if the task allows both formats. Check whether the user is accidentally generating an archive from a table that is invisibly much larger than it appears.

How to fix it: restrict the scenario with filters, use DOCX if Excel is not required, split reports into batches, and simplify the template. If the server consistently cuts the process off even at moderate scale, it is better not to promise users bulk XLSX until the hosting or the architecture changes.

The Download Button Is Visible, but the File Does Not Download

Symptom: the button can be clicked, but the file never arrives, the loader spins forever, or the user stays on the same page.

The causes can vary: an incorrect report ID, a JavaScript conflict, caching or minification, permission limits, a template error, a template file missing from the same domain, or server-side upload or save permissions.

What to check: first download the report from the Browse page in the admin panel. If it works there, the issue is more likely on the public page, in the shortcode, permissions, or theme scripts. If it fails in the admin too, go back to the wizard and preview. Blindly disabling plugins on a live site is not a good idea: repeat the test on a site copy.

How to fix it: check the shortcode, temporarily place the button on a clean test page without a complex builder, exclude the page from aggressive optimization, and reupload the template through the Media Library. Rollback means restoring the previously working shortcode or template.

The User Downloaded More Data Than They Should Have

Symptom: the report contains rows that should not be available to that role or client.

This is the most serious class of issue. The cause may be incorrect table visibility settings, a shared page without authentication, disabled filtering, insufficient data segmentation, or flawed wpDataTables logic for "the user should only see their own rows."

Fixing this starts with data access, not the template. Take the page offline, review the roles, test the table under test users, and confirm that the security filter is not just a visual convenience. If the reports contain personal or financial data, test permissions before styling.

Security, Performance, and Ongoing Maintenance

Report Builder works with files and data, so it should not be treated as a decorative plugin. Even if installation is simple, maintenance should include backups, test templates, permission checks, and post-update validation. That is especially important for sites handling personal data, financial documents, academic records, and internal client lists.

Do Not Store Unnecessary Data in Templates or Filenames

A template may contain a logo, company details, contract language, and internal fields. But it should not contain hidden comments, old client data, internal notes, or fields that should never reach the end user. Before uploading a template, open the document, remove extra metadata, check hidden text, and make sure the template does not contain real data from a previous document.

Filenames can also expose information. Do not put passport data, full addresses, personal identifiers, or medical details into the filename mask. For identification, an internal ID, a date in the project’s accepted format, or a neutral code is usually enough. If the file is forwarded, its name will be visible to more than just authenticated site users.

Watch Updates and the Changelog

The Report Builder changelog shows more than new features. It also reflects performance, compatibility, and security fixes. The wpDataTables changelog matters too, because Report Builder often relies on wpDataTables tables, filters, formulas, and export logic. After updates, do not stop at visually checking the page: download your control DOCX and XLSX files and compare rows, totals, and variables.

If the site uses automatic updates, keep a report checklist close at hand. The more reports you create, the easier it becomes to forget an uncommon scenario: bulk DOCX, a report without a source, a filter-based report, or saving to the Media Library. Maintain a small set of test data that quickly shows whether the key logic still works.

When You Should Not Add Code

With Report Builder, you should not invent PHP hooks, JavaScript workarounds, or direct edits to plugin files. The public documentation already provides enough official extension points: the wizard, templates, additional variables, shortcode, CSS class, the WordPress editor, and WPBakery. If the task requires deep integration, it is better to contact the developer and rely on official support rather than copy random snippets from unverified discussions.

A safe customization is external CSS for classes you added yourself in the shortcode, along with careful page setup around the table. Anything that changes file generation, access permissions, variable processing, or server timeouts should be treated and tested as a development task.

Questions That Usually Come Up Before Implementation

Can CodeCanyon Report Builder Be Used Without wpDataTables?

The documentation shows examples of reports without a source wpDataTable, where the file is filled using predefined variables and additional variables from user fields. But if your goal is to export data from WordPress tables, integration with wpDataTables remains the key scenario, and the official add-on page states that wpDataTables Premium is required for that setup.

Why Does an XLSX Variable Have to Be in Its Own Cell?

That is how Report Builder distinguishes a dynamic variable from regular text in an Excel template. If you write Client: ${client} inside one cell, the variable may not be recognized. Put the label in one cell and ${client} in the adjacent or lower cell.

Which Report Mode Should I Choose: Single File or Multiple File?

Choose single file for one combined document based on the full table or the current selection. Choose multiple file when each row should become a separate document inside a ZIP archive. The choice affects variable syntax: a combined file usually needs .all and totals, while per-row files use regular column variables.

Can I Generate a Report Based on What the User Filtered on the Page?

Yes, if you use wpDataTables and enable Follow table filtering in the report. The table and the Report Builder elements must be on the same page, and the user should understand that the file will include the currently visible rows in the current order.

Does Report Builder Support PDF?

Official materials describe the product as a DOCX and XLSX generator. Public user requests for PDF output exist as feature requests. So you should not plan around PDF as a confirmed feature of this product. If you need a PDF-first workflow, look at dedicated PDF tools.

What Should I Do If Bulk XLSX Cannot Finish Generating?

Reduce the selection, test the template on a smaller number of rows, compare DOCX mode, simplify the styling, and do not launch bulk generation without filtering. If the server limit is low, even a technically correct template may still fail at larger volumes.

Should I Give Users the Save-to-Media-Library Button?

Usually the download button is easier to understand. Saving to the Media Library makes more sense in administrative scenarios where the file should remain inside WordPress. For public users, it may create unnecessary files and raise access questions.

What Is the Safest Way to Start Implementation?

Start with a test table, a simple template using one or two variables, and a locked-down page. After a successful preview, add the real columns, styling, additional fields, and bulk generation. That way, if something breaks, you will know exactly which part of the chain caused the issue.

When CodeCanyon Report Builder Is the Right Choice

CodeCanyon Report Builder is worth using when you need a clear bridge between WordPress data and familiar office files. It works especially well in projects where wpDataTables already handles tables, filters, and data sources, and users need more than a "raw export" - they need a cleanly prepared DOCX or XLSX built from a template.

Before implementation, verify three things: the data in wpDataTables is stable, the template follows the variable rules, and the download scenario does not expose unnecessary data. Then build a test report, open the file in the target office application, check filtering, permissions, and bulk generation. If everything lines up, you can move on to the live page and train users on a simple flow: filter, fill in the fields, download, and verify the file.

If, after reading this, you can see that DOCX/XLSX output, wpDataTables, and template-based merging match your use case, you can download CodeCanyon Report Builder and test it on a site copy. Do not start with the most complex report. A small first template that works gives you far more value than trying to automate your entire document workflow on day one.

By OceanTheme.org Editorial Team

 

You are not logged in to post comments.