I need to create an inventory on a spreadsheet of all of the books, DVDs, VHS tapes, and cassette tapes in my office. Since there are 3000+ items, this could take a long time. I bought a barcode scanner to speed up the work. Is there any software for Linux that works with barcode scanners, can search a database to find the item details based on the barcode, and can export the database to a spreadsheet?
GCstar will take care of all of this for you: scanning barcodes, storing an inventory, and looking up information online for the various categories of items it knows about (which cover your requirements).
A barcode scanner is a HID like a keyboard. The barcode is converted to the respective characters and inserted into the current input line.
If you are adept with a database (say LibreOffice or other), then just build a form for scanning in the barcodes. We have no idea how the barcodes map to your media with the information provided in the question. You may be having to type the descriptions into another form field.
Seriously -- the scanner is just an input device, nothing more. If all you need are the barcodes, then scan away. If you need the barcodes plus additional information, that latter part you'll have to find. Barcode scanners are great for inventory control -- which should start when purchased. Attached the barcode and enter a description/location/etc. After that just scan the codes and update things like location. Some scanners just record info and have to be synced back to a computer, some use networks to directly sync with DBs, others are physically connected to a computer and act like a keyboard.
As a general idea and if your budget and risk model allows it, move inventory control to NFC tags and also tag the rooms, so inventory management personnel can come scan everything and the room and some programmer can write the app/db front end. Indeed, I have helped companies do exactly this by scanning using a Android phone with an app that fills a CouchDB (json document) database. Wrote the app with DroidScript -- everything worked flawlessly. Note someone or some DB somewhere in the world has to have those initial descriptions...