Hello,
Was once told you can do labels directly from Calc but have never seen any process for that.
You generate labels using data in or through a registered Base file. In your case this can be through by using the Calc file containing the data. Base is connected via Spreadsheet connection. It connects only one name (ods) at a time.
The connection only relies upon the connected file name. So you can replace the Calc file with another of the same name and then open the Base file and the data is present. Also, availability in Writer should not need to be re-established. This is also true of the column headers (as you state they are always the same).
With a current test, Created a Writer document for the labels. Generated labels from spreadsheet A (which runs through a Base file to the Writer doc via registered name). Closed Writer file (Calc & Base were already closed). Replaced Calc file (different file same name). Opened same Writer document for the labels and the was able to generate the labels from spreadsheet B.
Simple process based upon you having consistent spreadsheets - Sheet name and column name the same.
Edit:
Sorry for not giving a better explanation.
Are you saying that a .ods and a .odb
that share the same name are
permanently “linked” and so if I make
changes to the spreadsheet, the
changes are made automatically to the
.odb file as well?
No intention that names are the same for Base and Calc. Understand the .odb is a front end to a database and in the discussion here, Calc contains the data. Base is linked to the Calc file with a connection.
Creating a Base file with a Spreadsheet as source:
The Base file shows this connection:
![image description](https://ask.libreoffice.org/uploads/asklibo/original/3X/7/f/7f5c67321a694f6ec4be4b3b5dd9ba72899db164.png)
Here the Calc file was named TestBase.ods
. The Base file may be named whatever. In this example SpreadsheetBase.odb
was used. Typically the registered name is the same as the Base file name but it can be whatever you want.
So now with this you can create you Writer label file. Here is the dialog:
Select new document and save the resulting document for selecting and printing labels.
So with all this set, to use a different Calc file, just replace the existing one. Replacing means it has the same .ods name, the data is on sheet(s) with the same name, and columns have the same names. Also, the Calc file must be in the same location as where the first connection was made. Once the Calc file is replaced, open your saved Writer label file and you can select and print from the newly connected Calc file - accessed through Base.
Thus the data is located in the Calc file connected to a Base file which, when registered, allows other modules to gain access to the data it is connected to.
Cannot give much reasoning to original design except that Base has been the central point for the mail merge (and label) and data access process back to OpenOffice and I believe even StarOffice. All the data passes through Base.