How can I set all column widths at once, like row height?

Tables in Writer: It’s really easy to set row height; you just select some rows, and set the height, and it works. Columns seems broken. There’s no option to set all the selected columns to the same width, it seems to want me to do them individually; but even if I do it individually, it insists on keeping the table width constant. It also adjusts the column to the right of the one you’re changing as well, and then when you get to the last one, instead of finally fixing the table width, it goes back and screws the next-to-last column! The only workaround I found for this silly situation, was to get out a calculator and calculate the total width for the table (e.g. 12 columns x 1.2cm) and enter this for the table width, and then choose “make all column widths equal”. Surely there’s a better way than this?

You might even get 12*1.2 =14.4 without a calculator ;-).
Anyway: You found the reason for the issue with column widths yourself: A TextTable has a setting for its total width (Automatic or Relative or Absolute).
In what way ever it handles changes in column widths it cannot forbear to change another setting in addition.
The real process needs to either give you additional control by showing you what settings are available for being the additionally afflicted one, and by prompting you for the decision, or it has to strictly follow a default.
You experienced that the second alternative is the factual one.
If you want it otherwise:
Write user code performing things for you in the preferred way.
Or
File a bug report of type ENHANCEMENT to bugs.ḋocumentfoundation.org - and look what happens then.

Hello,

to adapt the colums witdh for all columns do the following:

  • Click into any cell of your table
  • Right click -> Table Properties -Tab: Table and change Alignment from Automatic to Left (or any other option) - see screenshot 1
  • Move to tab Columns and set option
    [x] Adjust columns proportionally (option: [x] Adapt table width will be selected automatically and greyed out)
  • Now set your desired column width under 1 and all others will adapt - see screenshot 2

Screenshot 1

image description

Screenshot 2

image description

Hope that helps

If the column widths were changed before, first Distribute Columns Evenly.

Thank you, that does work. I thought I’d tried it to be honest, but I must already have managed to get the columns different widths, so “Adjust columns proportionally” made them stay different. LeroyG’s tip of getting them equal first is probably the key to getting out of the hole, although now I know, they’ll probably start off equal anyway.

Tables in Writer are meant to extend from margin to margin. This is usually fine when you have one “main” column containing paragraphed text. It is then nice that this column received the left over space of the other columns.

There are cases where a table has to be formatted precisely, i.e. columns have a required width.

In this case, either you proceed according to your workaround, or:

  • create the table, as usual, with the desired number of columns and any number of rows
  • Table>Properties, Table tab, select some Alignment different from Automatic (Left or Center are usually fine); don’t bother for Width
  • go to Columns tab, check Adapt table width so that total table width is no longer maintained constant
  • set the width of individual columns; note that a column change does not propagate to its right neighbour

For equal columns, see the addition in @anon73440385’s answer.

To show the community your question has been answered, click the ✓ next to the correct answer, and “upvote” by clicking on the ^ arrow of any helpful answers. These are the mechanisms for communicating the quality of the Q&A on this site. Thanks!

In case you need clarification, edit your question (not an answer) or comment the relevant answer.

@ajlittoz, Yes, in my now-deleted answer I forgotten to change alignment. Thanks.