Bug 132780 (FormatAsTable) - Feature Request: Add Calc Tables with functionality similar to Excel's "Format as tables"
Summary: Feature Request: Add Calc Tables with functionality similar to Excel's "Forma...
Status: NEW
Alias: FormatAsTable
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL: https://ask.libreoffice.org/t/format-...
Whiteboard:
Keywords:
: 120457 139291 162805 (view as bug list)
Depends on:
Blocks: Calc-Enhancements XLSX-DataRange
  Show dependency treegraph
 
Reported: 2020-05-06 15:20 UTC by Pedro
Modified: 2024-10-25 14:16 UTC (History)
32 users (show)

See Also:
Crash report or crash signature:


Attachments
Gif depicting excel tables functionality (1.03 MB, image/gif)
2020-05-06 15:20 UTC, Pedro
Details
Explainer of tables in Excel 365 1 (73.40 KB, image/png)
2020-05-06 15:22 UTC, Pedro
Details
Explainer of tables in Excel 365 2 (108.48 KB, image/png)
2020-05-06 15:22 UTC, Pedro
Details
Explainer of tables in Excel 365 3 (72.75 KB, image/png)
2020-05-06 15:23 UTC, Pedro
Details
Explainer of tables in Excel 365 4 (100.03 KB, image/png)
2020-05-06 15:23 UTC, Pedro
Details
Explainer of tables in Excel 365 5 (41.30 KB, image/png)
2020-05-06 15:23 UTC, Pedro
Details
Explainer of tables in Excel 365 6 (50.44 KB, image/png)
2020-05-06 15:24 UTC, Pedro
Details
OnlyOffice Desktop Editors has same feature and has GPL3 license (46.10 KB, image/png)
2020-05-15 15:13 UTC, Pedro
Details
Google Sheets: Auto-applied formatting (1. Gif) (2.38 MB, image/gif)
2024-05-19 18:18 UTC, Antonio Vidal
Details
Google Sheets: Group By View (2. Gif) (3.09 MB, image/gif)
2024-05-19 18:19 UTC, Antonio Vidal
Details
Google Sheets: pre-built tables (3. Gif) (1.88 MB, image/gif)
2024-05-19 18:21 UTC, Antonio Vidal
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pedro 2020-05-06 15:20:56 UTC
Created attachment 160446 [details]
Gif depicting excel tables functionality

One extremely handy feature present in Excel that Calc lacks is the capacity to create tables inside Excel. These tables offer several functionalities besides what is available to the normal spreadsheet cells, and what can be achieved with just Sort and Filter of a selection of cells in Calc. This feature was previously known as an Excel list.

The purpose of Excel tables is to manage and analyze related data easily.
These tables have several elements:

Header row - All tables have filtering enabled in header row to sort or filter quickly.

Banded rows - Alternate shading to distinguish data.

Calculated column - insert a formula in one cell in a table column and you can create a column in which that formula is applied to all cells in the same table column.

Total row - Can add a total row to a table. Excel will provide an AutoSum drop-down liist to select from functions

Sizing handle - a sizing handle in the lower right corner that allows to drag and make the table the size I want (selecting which cells are part of it).

Steps to create a Table in Excel 365:
1 - Select range of interest in a sheet,
2 - Go to Home -> Format as Table or Insert -> Table,
3 - Pick a style,
4 - Select if you want headers in dialog, click OK.

Functionalities of tables: besides the previously mentioned and VERY important: 1 - When you add new values to the cells below the table, it automatically extends the table to include them.
2 - make a chart of a table, and any time the table is extended the chart auto-updates to include the new cells.
3 - If you paste that chart in a Powerpoint presentation, whenever you have the Excel spreadsheet opened side by side the chart in the Powerpoint file will also update if "Refresh Data" is selected.

These features are important for people that are dealing with constantly growing related data, and for creating charts that auto-update allowing a decree of automatization that is not possible in Calc. This is an extensive feature but it's a feature that is also present in WPS Office and Softmaker Office besides Microsoft Office.

I would like to request that a similar feature is created since it vastly improves the use cases of Calc.
Comment 1 Pedro 2020-05-06 15:22:28 UTC
Created attachment 160447 [details]
Explainer of tables in Excel 365 1
Comment 2 Pedro 2020-05-06 15:22:53 UTC
Created attachment 160448 [details]
Explainer of tables in Excel 365 2
Comment 3 Pedro 2020-05-06 15:23:09 UTC
Created attachment 160449 [details]
Explainer of tables in Excel 365 3
Comment 4 Pedro 2020-05-06 15:23:28 UTC
Created attachment 160450 [details]
Explainer of tables in Excel 365 4
Comment 5 Pedro 2020-05-06 15:23:45 UTC
Created attachment 160451 [details]
Explainer of tables in Excel 365 5
Comment 6 Pedro 2020-05-06 15:24:25 UTC
Created attachment 160452 [details]
Explainer of tables in Excel 365 6
Comment 7 Pedro 2020-05-15 15:13:19 UTC
Created attachment 160864 [details]
OnlyOffice Desktop Editors has same feature and has GPL3 license

Important thing to mention: OnlyOffice Desktop Editors has an initial implementation of this feature. It's licensed under GPL v3 so maybe its code for this feature could be used as a blueprint to introduce this feature in Calc?
Comment 9 Heiko Tietze 2020-08-03 09:23:43 UTC
Isn't it the same as Format > Autoformat Styles...? https://help.libreoffice.org/6.4/en-US/text/scalc/guide/autoformat.html 

(Also known as Table Style in Writer; see also bug 101802)
Comment 10 Pedro 2020-08-03 13:57:01 UTC
No,it's not the same as Autoformat Styles.
Tables in Excel have numerous specific functionalities attached to them that I clearly enumerated in the first post and in the attachments.

AutoFormat Styles is just an aesthetic change to a number of cells that you select. Furthermore, you can't select Autoformat Styles to less than a 3x3 cell selection (which is quite silly).
Comment 11 Heiko Tietze 2020-08-03 14:01:47 UTC
My take: simplicity first. If you want to make charts of growing sheets use a pivot table or special functions. We don't need to copycat all Excel inventions.
But let's see what Eike thinks.
Comment 12 Pedro 2020-08-03 14:50:13 UTC
That's just one of the functionalities. 
I mentioned plenty of others:

These tables have several elements:

Header row - All tables have filtering enabled in header row to sort or filter quickly.

Banded rows - Alternate shading to distinguish data.

Calculated column - insert a formula in one cell in a table column and you can create a column in which that formula is applied to all cells in the same table column.

Total row - Can add a total row to a table. Excel will provide an AutoSum drop-down liist to select from functions

Sizing handle - a sizing handle in the lower right corner that allows to drag and make the table the size I want (selecting which cells are part of it).~

These allow the quick automation and make data manipulation in tables really easy and simple. To me simplicity first means making work easier for end-users, not simplicity by decreasing work for developers and having a less feature complete piece of software.
Comment 13 QA Administrators 2020-08-04 04:19:45 UTC Comment hidden (obsolete)
Comment 14 Eike Rathke 2020-08-05 21:18:50 UTC
I agree, those Table features are still missing. There was a GSoC idea for the table styles but that never got picked up, https://wiki.documentfoundation.org/Development/GSoC/Ideas#Implement_table_styles
I just added this bug for reference there (or actually changed it from the old outdated and misleading one).
Comment 15 Heiko Tietze 2020-08-06 10:41:50 UTC
(In reply to Eike Rathke from comment #14)
> I agree, those Table features are still missing.

Removing UX for now. Please ping if you need input.
Comment 16 Roman Kuznetsov 2020-08-06 18:22:08 UTC Comment hidden (obsolete)
Comment 17 Pedro 2020-08-07 10:18:43 UTC
(In reply to Roman Kuznetsov from comment #16)
> I think it's a dupe of bug 66377. 
> 
> Pedro, what do you think?

That bug seems to be about Calc losing formatting of tables created in Excel. It is related but not the same thing, since I want to focus on including the functionality in Calc, not only just keeping the Excel formatting.
Comment 18 m_a_riosv 2020-12-29 14:01:28 UTC
*** Bug 139291 has been marked as a duplicate of this bug. ***
Comment 19 Thierry 2020-12-29 20:05:42 UTC
I filed a duplicate of this request (sorry !), explaining again some of the good reasons to add this feature.

As I mentioned in my request:
This Excel feature is really a key one for a spreadsheet management tool such as... Excel... or Calc ! We are using those tools to manipulate data, organized in tables. That's the core feature of those tools...

Before Excel introduced the "format as table" feature, we had to do all the stuff "by hand". AND TO MAINTAIN IT when the table content was changing. Very uncomfortable and time consuming...

Today, with this feature, it is very simple to:
- organize dynamic data in table (named range, easier references in external vlookup,...)
- create a footer with smart formulas (sum, subtotal,...), that remains a footer, whatever you add/remove in the table and that don't get sorted in the table content flow...
- add new lines in the range (simply press tab key at the end of the table)
- get formulas automatically created in the columns (limit risks of mistake)
- use explicit column titles as names in the formulas (simplify writing and maintenance)
- get a consistent auto formatting (such as alternate colors for rows,...) whatever sort/insert/delete action you can do on the table itself
- ...


And I fully agree with @Pedro : no, this is not a bug of Calc loosing formatting, but a request for enhancement.
=> we are looking for introducing this notion of "table"

I really think we need this feature in Calc, to be able to continue using LibreOffice as a standalone alternative to Microsoft Office in a consistent and effective way...

I also realize it may not be easy to develop, but, at least, let's track this need and look at it...

Thanks !
Comment 20 jocn 2021-01-08 19:04:17 UTC
Tables are ubiquitous in any Excel spreadsheet I make. I'm very happy to see everything that's been implemented so far. It makes feature parity seem very possible.

Here are the gaps I consider most important:

- The @ operator to specify a structured reference to a cell in the current row. Calc's syntax to accomplish the same thing is much more verbose, implicit, and, as far as I know, undocumented.

- Calculated columns: some way to ensure that every cell of a field inside a database range uses the same formula, that changing the height of the range will also copy the formula, that changing the formula in one cell will change it for the whole column.

- The ability to rename a database range, updating the name in any references elsewhere in the workbook.

- Formula bar autocomplete for structured reference syntax, especially when selecting a range of cells.
Comment 21 Rafael Lima 2022-06-07 15:17:44 UTC
This is a much needed feature in LibreOffice Calc.

Whenever I teach LO Calc to Excel users, this is possibly the #1 feature that they miss. And I personally agree that this feature provides awesome UX and it should exist in LO Calc (alongside Table Slicers - see Bug 119807).

The "Format As Table" feature in Excel is not only about formatting, but rather about providing functionality that makes it much simpler to work with tables, as pointed out in Comments #19 and #20.
Comment 22 jcsanz 2023-10-31 20:22:24 UTC
It really is a functionality that is in high demand.
 
Questions are frequently asked in social networks about how to implement this feature in Calc.

I hope it can be implemented soon.
Comment 23 Rafael Lima 2024-03-06 18:41:04 UTC
TBH I think this is a duplicate of bug 66377. Fixing it will also fix this one.

The problem of having both tickets open (bug 66377 and bug 132780) is that it becomes harder to centralize the discussion.

As of now, bug 66377 has 14 duplicates, so how about we mark this one as duplicate and centralize the discussion there?
Comment 24 ady 2024-03-06 21:17:13 UTC
(In reply to Rafael Lima from comment #23)

> The problem of having both tickets open (bug 66377 and bug 132780) is that
> it becomes harder to centralize the discussion.

While I agree that the difference is not always clear in each dupe, I think that one report (or rather RFE) is about implementing the feature in Calc itself, and the other is about being able to import/export the cells/table attributes from/to xls(x) file format.
Comment 25 Pedro 2024-03-08 08:56:34 UTC
(In reply to ady from comment #24)
> (In reply to Rafael Lima from comment #23)
> 
> > The problem of having both tickets open (bug 66377 and bug 132780) is that
> > it becomes harder to centralize the discussion.
> 
> While I agree that the difference is not always clear in each dupe, I think
> that one report (or rather RFE) is about implementing the feature in Calc
> itself, and the other is about being able to import/export the cells/table
> attributes from/to xls(x) file format.

When I created this bug I didn't find that other open bug.
In here I try to outline the features of tables required in such an implementation. If you mark as duplicate can this be transferred to the other bug?
Comment 26 Pedro 2024-03-08 09:06:36 UTC
(In reply to Rafael Lima from comment #23)
> TBH I think this is a duplicate of bug 66377. Fixing it will also fix this
> one.
> 
> The problem of having both tickets open (bug 66377 and bug 132780) is that
> it becomes harder to centralize the discussion.
> 
> As of now, bug 66377 has 14 duplicates, so how about we mark this one as
> duplicate and centralize the discussion there?

Also as I replied in comment 17 about bug 66377:
That bug seems to be about Calc losing formatting of tables created in Excel. It is related but not the same thing, since I want to focus on including the functionality in Calc, not only just keeping the Excel formatting.
Comment 27 Pedro 2024-03-08 09:08:40 UTC
As I replied some years ago : against making this as duplicates of 66377.
Comment 28 Antonio Vidal 2024-05-19 18:18:10 UTC
Created attachment 194197 [details]
Google Sheets: Auto-applied formatting (1. Gif)
Comment 29 Antonio Vidal 2024-05-19 18:19:44 UTC
Created attachment 194199 [details]
Google Sheets: Group By View (2. Gif)

When you are using tables, you’ll also have access to our new type of view, group by, where you can aggregate your data into groups based on a selected column. For instance, you can decide to group all data at the same priority level in one place, as shown below.
Comment 30 Antonio Vidal 2024-05-19 18:20:06 UTC
Comment on attachment 194197 [details]
Google Sheets: Auto-applied formatting (1. Gif)

With tables, you can simplify and accelerate spreadsheet building by bringing format and structure to unorganized ranges. By selecting your data range and going to Format > Convert to table, Sheets now does the heavy lifting to format and organize data with a polished design including column types, filters, color coding, dropdown menus and more.
Comment 31 Antonio Vidal 2024-05-19 18:21:23 UTC
Created attachment 194200 [details]
Google Sheets: pre-built tables (3. Gif)

We’re also introducing pre-built tables that you can populate with common data types for everyday tasks like project management, inventory management, event planning and more. Now with pre-built tables, you never have to build a spreadsheet from scratch again.
Comment 32 Antonio Vidal 2024-05-19 18:25:07 UTC
Recently, Google Sheets released an auto formatting feature which would compliment this feature request, it is a great improvement over Office 365 and LibreOffice auto format

Announced: 14/05/24 (DD/MM/YY)

Google Sheets New Feature: New ways to quickly format and organize data with tables: https://support.google.com/docs/thread/274482551?hl=en
Comment 33 m_a_riosv 2024-09-05 22:20:14 UTC
*** Bug 162805 has been marked as a duplicate of this bug. ***
Comment 34 Regina Henschel 2024-09-15 23:07:12 UTC
The feature corresponding to Excel's "table" is in LibreOffice the "database range". So it would be good to have a comparison, which features are missing in "database range" that are available in Excel or Google Sheets and the other way round, which features are available in "database range" but not in Excel or Google Sheets. I think, the Wiki would be a good place for such a comparison.

This would help to limit this enhancement request to a reasonable size.
Comment 35 Pedro 2024-10-06 12:21:23 UTC
There's so many differences than it's not even funny.
We can start with name: Database range is meaningless to the common user. One can't even fathom it is supposed to be a similar functionality (hence why it was placed in Data tab in Tabbed UI instead of Insert tab. In Excel, Table is in Insert tab).
Scope there: 
1 - Change name of "Define Range" uno command to Table.
2 - Move command from Data Tab to Insert tab in Tabbed UI.

Moving on.
When one defines a table in Excel, it provides a Table design with a Table Style. Database Range has nothing. 

It has a handle to drag the Table to the neighbor columns and rows. Database range has nothing visible.

Scope:
1 - Implement a table style upon creation of a database range.
2 - Implement a handle to expand table size.

When selecting the Range in Calc in a completely different command (hidden in a menu) it is possible to expand the range of the table. However, it does not propagate the table style. It fills the new cells with new values based on expanded table.

When creating a Table in Excel, a new tab in the UI is created (Table Design) with multiple options to change the design of the table (Header Row, First Column, Last Column, Banded Rows, Total Row, Last Column, Banded Columns). Nothing in Database Range.

Scope:
Table Styles. Any type of table styles. AutoFormat table styles should be implemented to Selected Range. It should be possible to better configure AutoFormat styles.

There's the option to export the table data to Sharepoint list.

There's a Tools group with: 
1 - Remove Duplicates,
2 - Insert Slicer,
3 - Convert to Range
4 - Summarize with PivotTable.

There's nothing in the comparable function of Calc.

Scope: Add all these.

The scope is enormous: new UI, new functions. If no one wants
Comment 36 John Mills 2024-10-06 13:21:04 UTC
(In reply to Pedro from comment #35)
> There's so many differences than it's not even funny.
> We can start with name: Database range is meaningless to the common user.
> One can't even fathom it is supposed to be a similar functionality (hence
> why it was placed in Data tab in Tabbed UI instead of Insert tab. In Excel,
> Table is in Insert tab).
> Scope there: 
> 1 - Change name of "Define Range" uno command to Table.
> 2 - Move command from Data Tab to Insert tab in Tabbed UI.
> 
> Moving on.
> When one defines a table in Excel, it provides a Table design with a Table
> Style. Database Range has nothing. 
> 
> It has a handle to drag the Table to the neighbor columns and rows. Database
> range has nothing visible.
> 
> Scope:
> 1 - Implement a table style upon creation of a database range.
> 2 - Implement a handle to expand table size.
> 
> When selecting the Range in Calc in a completely different command (hidden
> in a menu) it is possible to expand the range of the table. However, it does
> not propagate the table style. It fills the new cells with new values based
> on expanded table.
> 
> When creating a Table in Excel, a new tab in the UI is created (Table
> Design) with multiple options to change the design of the table (Header Row,
> First Column, Last Column, Banded Rows, Total Row, Last Column, Banded
> Columns). Nothing in Database Range.
> 
> Scope:
> Table Styles. Any type of table styles. AutoFormat table styles should be
> implemented to Selected Range. It should be possible to better configure
> AutoFormat styles.
> 
> There's the option to export the table data to Sharepoint list.
> 
> There's a Tools group with: 
> 1 - Remove Duplicates,
> 2 - Insert Slicer,
> 3 - Convert to Range
> 4 - Summarize with PivotTable.
> 
> There's nothing in the comparable function of Calc.
> 
> Scope: Add all these.
> 
> The scope is enormous: new UI, new functions. If no one wants

This is 100% correct, there is a considerable disparity between Excel and Calc here. As a user of this functionality in Excel I can contest that you would not switch to LibreOffice if this was important to you. Does anyone know if this is on a roadmap or if a tender for this functionality can be created?
Comment 37 Regina Henschel 2024-10-06 16:16:44 UTC
(In reply to John Mills from comment #36)
> (In reply to Pedro from comment #35)
> > There's so many differences than it's not even funny.

> > We can start with name: Database range is meaningless to the common user.
> > One can't even fathom it is supposed to be a similar functionality (hence
> > why it was placed in Data tab in Tabbed UI instead of Insert tab. In Excel,
> > Table is in Insert tab).
> > Scope there: 
> > 1 - Change name of "Define Range" uno command to Table.
> > 2 - Move command from Data Tab to Insert tab in Tabbed UI.

There is no "Table" inserted. Compare with what happens, when you use "Insert Table" in Writer or Impress. The term "Database Range" describes the purpose and the features better than the term "Table". The term "Table" means all of the cells.
That name "Database Range" exists for more than 25 years. OpenOffice and LibreOffice users know it. Coming from Excel you simple need to learn, that it is "Database Range" in LibreOffice.

> > 
> > Moving on.
> > When one defines a table in Excel, it provides a Table design with a Table
> > Style. Database Range has nothing.
> > 
> > It has a handle to drag the Table to the neighbor columns and rows. Database
> > range has nothing visible.
> > 
> > Scope:
> > 1 - Implement a table style upon creation of a database range.
> > 2 - Implement a handle to expand table size.

Yes, you need to style the cell range in a separate step. You can do it independent from defining a database range.
Yes, changing the source area is currently not possible by dragging. You need to modify the source area in the "Define Range" dialog.

You should write a feature request for each.

> > 
> > When selecting the Range in Calc in a completely different command (hidden
> > in a menu) it is possible to expand the range of the table. However, it does
> > not propagate the table style. It fills the new cells with new values based
> > on expanded table.
> > 
> > When creating a Table in Excel, a new tab in the UI is created (Table
> > Design) with multiple options to change the design of the table (Header Row,
> > First Column, Last Column, Banded Rows, Total Row, Last Column, Banded
> > Columns). Nothing in Database Range.
> > 
> > Scope:
> > Table Styles. Any type of table styles. AutoFormat table styles should be
> > implemented to Selected Range. It should be possible to better configure
> > AutoFormat styles.

Yes, a binding of a table style to a Database Range does not exist. Currently the feature "Table style" lacks a lot. You will find several bug reports.
Currently a "Table style" is not a style but more like a stencil. You need to apply it again after changes in the area size.

> > 
> > There's the option to export the table data to Sharepoint list.

Is write access to a Sharepoint possible, if you do not have a license for Microsoft Office?

> > 
> > There's a Tools group with: 
> > 1 - Remove Duplicates,

will come in LibreOffice 25.2

> > 2 - Insert Slicer,

Not really needed, UI gimmick.

> > 3 - Convert to Range

Data > Define Range > Delete

> > 4 - Summarize with PivotTable.

Data > Select Range; Data > Pivot Table.

[..]

> This is 100% correct, there is a considerable disparity between Excel and
> Calc here.

Features available for Database Range in LibreOffice, I do not see in Excel:
Can reflect a table or query of an external database.
Can sort with different algorithm
Can filter case sensitive
Can filter using regular expressions
Output filtered data to different sheet
Comment 38 Gabor Kelemen (allotropia) 2024-10-25 14:16:57 UTC
*** Bug 120457 has been marked as a duplicate of this bug. ***