[New plugin] - XLSX: Excel files with formulas & styles šŸ“—

Ahoy fellow Bubblers,
Here we are again with a new plugin: XLSX: Excel files with formulas & styles

CSV are good, but XLSX are better! :green_book: Create Excel documents from your data, add formulas & styles and download beautiful XLSX files in no time!

Formulas will allow you to avoid performing complex computation in your bubble app (and save some WUs :wink:).

Styles will make your reports look shiny and professional.


See it in action:

Live demo
Try it → Demo page

Editor
See how to use it → Editor page


Features

  • Add any kind of data to your document (numbers, texts, boolean, dates, currencies, percentages, and much more)
  • Use any excel formula, avoiding to perform complex calculations in your bubble app
  • Supports multiple sheets in a document
  • Format your data as you wish, by adding digits to your numbers, or by appending any foreign currency
  • Add styles to your sheets and make them beautiful

Supported styles

  • Bold, underline and italic text
  • Text font size and color
  • Cell background colors
  • Cell borders style and thickness
  • Cell borders colors
  • Cell content alignment (horizontal and vertical)
  • Wrap text
1 Like

Feature UPDATE: we have added the possibility to resize / hide your columns, from any of the multiple sheets.

Also, it is possible to clear your document and start all over again adding new data - Thanks Marcelo for that hint! :grin:

XLSX >> CSV :v:

Hello,

Can it created worksheets formatted like this? All data is dynamic. The grayed out cells are conditional formatted to show there is no data there.

Thanks,
george

Hello @gnelson ,
With respect to your file, this what you can and can’t achieve with the plugin:

  • dynamic content YES

  • bold text YES

  • text center alignment YES

  • cells independent borders YES

  • merged cells NOT YET

  • vertical text NOT YET

  • conditional formatting NOT YET, but you can format the cells color yourself

All the above features are going to be implemented soon!

1 Like

Hi! This plugin is working great for me. Quick question - is it possible to add support of the excel file to be emailed? I would like to be able to run the export in a backend workflow and email the result to the user.

1 Like

Thank you :pray:

hi, I just started trying it out and so far I like it. a couple questions:

  • I have a varying number of rows and of columns (this is a time shift report, where there’s one row per employee, one column per date (user selects the date range, hence why the column count also varies):
  1. is there any way to add an ā€œarray of arraysā€ with this entire matrix? (I have a JSON I generated w Javascript)… otherwise,

  2. or, a way to iteratively add each row? (or, each column)

  • also, are there plans to add capability to add images, or alternatively, to add pre-built xlsx templates?

tks!

Al

quick update on my question above regarding the array of arrays, I was able to get this working with a loop using listshifterKW. if anybody needs a walkthrough lmk, it is fairly simple

seems to me like having the ability to start with an uploaded template would address a lot of people’s wish lists. adding filters, conditional formating, etc etc etc, basically limitless. not sure how difficult that would be.

that said, the current functionality works well. and I had looked at all other plugins, didn’t find some of these features I needed in any other one. good job!

Thank you @alfonso.galindo for using my plugin!
I was going to suggest listshifter for your first question, I’m happy that you found the solution by yourself! :grinning:

Right now I’m probably going to invest some time in improving this plugin, adding some functionalities such as conditional formatting, images, etc.
Maybe I’ll add the chance to upload a custom xlsx and edit that.

This means so much to me, thank you very much!!! :pray: :pray: :pray:

Hello @shashi , I just implemented that feature. When downloading a file, flag the field ā€œJust create linkā€.

The user will not download the xlsx, but the file will be accessible in the Bubble element state ā€œExported fileā€. An event (ā€œFile url generatedā€) will be triggered when the file is ready. Use that to send it via email :slight_smile:

Hey! This is great - thanks! I tested it and it works really well.

Other than being able to email instead of download, the other reason I was thinking to have this run as a background workflow is because some of the data processing I’m doing (eg: collapsing a sub-table into a single field using ā€œformat as textā€) takes a while, and the plugin times out if there are too many records. So I thought if there’s a way to offload that processing to a background workflow and then emailing it to the user, that would avoid any issues with how long it takes to export.

Since the plugin uses a UI element, I’m not sure if it’s possible to move it to the background, but figured I’d ask anyway!

That’s true, right now you need the UI element to generate the XLSX. But I think that a process that runs in the background could be very useful, I’ll see what I can do!

just an idea, maybe you could trigger the data processing you are doing in the background, say whenever the user requests the report… then at the end of that backend workflow, you could set a state in the front end (call it, ā€œreport readyā€) to yes, which will then make a appear a button ā€œdownload reportā€ in the front end… and once user clicks that ā€œdownload reportā€ button then the XLSX workflow starts, pulling the processed data from some intermediate place where you saved the data that you staged in the backend workflow?

@alfonso.galindo - thank you for this idea. My one question about this is: how do you set the state of a front end element when a backend workflow completes?

ah, good point, you can’t do that. I’ve worked around that before by writing to a field in the database instead of a state…

@alfonso.galindo, I tried this out and it works! Thanks for the tip.

@Cosmic.Steve - I’m getting an excel error now when I open my excel export file.
Capture 2023-11-02 at 17.52.05

And then if I say Yes, I get this:
Capture 2023-11-02 at 17.53.10

If I View, I get the following xml file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">. 
    <logFileName>
        Repair Result to [redacted]
    </logFileName>
    <summary>
        Errors were detected in file '/Users/[redacted]/Downloads/[redacted]..xlsx'
    </summary>
    <repairedRecords summary="Following is a list of repairs:">
        <repairedRecord>
            Repaired Records: Cell information from /xl/worksheets/sheet1.xml part
        </repairedRecord>
    </repairedRecords>
</recoveryLog>

Do you know what could be causing this? Am I doing something wrong? Happy to send you the document and more details separately if that would be helpful.

1 Like

Thank you @shashi for your feedback. That is typically an issue with some formulas. Please send me some details via PM and I’ll be happy to help out.

I figured it out! I messed up one of my delimiters. Now it’s all working great! Thx.