[GH-ISSUE #22613] issue: File processing fails due to case-sensitive check for 'xl/sharedStrings.xml' in .xlsx files #35294

Closed
opened 2026-04-25 09:31:47 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @FragsterAt on GitHub (Mar 12, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/22613

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Other

Open WebUI Version

v0.8.10

Ollama Version (if applicable)

No response

Operating System

windows server 2008

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

The file should be processed successfully, regardless of the case of internal filenames (e.g., SharedStrings.xml or sharedStrings.xml).

Actual Behavior

When attempting to upload and process a valid .xlsx file via the OpenWebUI API, the system fails with the error:
Copy

"There is no item named 'xl/sharedStrings.xml' in the archive"

However, upon manual inspection of the .xlsx file (which is a ZIP archive), the file xl/SharedStrings.xml does exist, but the first letter of the filename is uppercase (SharedStrings.xml instead of sharedStrings.xml).
This suggests that the file processing logic in OpenWebUI performs a case-sensitive check for the presence of xl/sharedStrings.xml, which fails for files where the filename uses a different case (e.g., SharedStrings.xml). This is problematic because:

The Office Open XML (OOXML) specification does not enforce a specific case for internal filenames in .xlsx files.
Many tools (including Microsoft Excel and LibreOffice) may generate .xlsx files with varying filename cases, leading to false negatives during processing.

Steps to Reproduce

Steps to Reproduce:

Upload test.xlsx file to OpenWebUI chat.
Observe the error: "There is no item named 'xl/sharedStrings.xml' in the archive".

Logs & Screenshots

Image
2026-03-12 15:30:37.419 | ERROR    | open_webui.routers.retrieval:process_file:1880 - "There is no item named 'xl/sharedStrings.xml' in the archive"
Traceback (most recent call last):

  File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\threading.py", line 1002, in _bootstrap
    self._bootstrap_inner()
    │    └ <function Thread._bootstrap_inner at 0x000001BA78A4B100>
    └ <WorkerThread(AnyIO worker thread, started 24424)>
  File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\threading.py", line 1045, in _bootstrap_inner
    self.run()
    │    └ <function WorkerThread.run at 0x000001BA4169A160>
    └ <WorkerThread(AnyIO worker thread, started 24424)>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\anyio\_backends\_asyncio.py", line 986, in run
    result = context.run(func, *args)
             │       │   │      └ ()
             │       │   └ functools.partial(<function process_uploaded_file at 0x000001BA36DCFBA0>, <starlette.requests.Request object at 0x000001BA403...
             │       └ <method 'run' of '_contextvars.Context' objects>
             └ <_contextvars.Context object at 0x000001BA5337DA40>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\files.py", line 164, in process_uploaded_file
    _process_handler(db_session)
    │                └ <sqlalchemy.orm.session.Session object at 0x000001BA51C64D90>
    └ <function process_uploaded_file.<locals>._process_handler at 0x000001BA5746EB60>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\files.py", line 128, in _process_handler
    process_file(
    └ <function process_file at 0x000001BA38F43920>
> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\retrieval.py", line 1779, in process_file
    docs = loader.load(
           │      └ <function Loader.load at 0x000001BA38CF62A0>
           └ <open_webui.retrieval.loaders.main.Loader object at 0x000001BA54B27D50>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\retrieval\loaders\main.py", line 197, in load
    docs = loader.load()
           │      └ <function BaseLoader.load at 0x000001BA33CB3380>
           └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_core\document_loaders\base.py", line 43, in load
    return list(self.lazy_load())
                │    └ <function UnstructuredBaseLoader.lazy_load at 0x000001BA3889AB60>
                └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_community\document_loaders\unstructured.py", line 107, in lazy_load
    elements = self._get_elements()
               │    └ <function UnstructuredExcelLoader._get_elements at 0x000001BA38CCD760>
               └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_community\document_loaders\excel.py", line 52, in _get_elements
    return partition_xlsx(filename=self.file_path, **self.unstructured_kwargs)
           │                       │    │            │    └ {}
           │                       │    │            └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210>
           │                       │    └ 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx'
           │                       └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210>
           └ <function partition_xlsx at 0x000001BA599B91C0>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\common\metadata.py", line 161, in wrapper
    elements = func(*args, **kwargs)
               │     │       └ {'filename': 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx'}
               │     └ ()
               └ <function partition_xlsx at 0x000001BA599B9120>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\chunking\dispatch.py", line 74, in wrapper
    elements = func(*args, **kwargs)
               │     │       └ {'filename': 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx'}
               │     └ ()
               └ <function partition_xlsx at 0x000001BA599B82C0>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\xlsx.py", line 86, in partition_xlsx
    opts.sheets.items(), start=starting_page_number
    │    │                     └ 1
    │    └ <unstructured.utils.lazyproperty object at 0x000001BA57844AD0>
    └ <unstructured.partition.xlsx._XlsxPartitionerOptions object at 0x000001BA592AE990>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\utils.py", line 154, in __get__
    value = self._fget(obj)
            │    │     └ <unstructured.partition.xlsx._XlsxPartitionerOptions object at 0x000001BA592AE990>
            │    └ <function _XlsxPartitionerOptions.sheets at 0x000001BA599B96C0>
            └ <unstructured.utils.lazyproperty object at 0x000001BA57844AD0>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\xlsx.py", line 200, in sheets
    return pd.read_excel(
           │  └ <function read_excel at 0x000001BA3324C680>
           └ <module 'pandas' from 'C:\\Users\\meticulous\\AppData\\Local\\uv\\cache\\archive-v0\\2bLDf_sBuDCniW-tUX-EG\\Lib\\site-package...
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 481, in read_excel
    io = ExcelFile(
         └ <class 'pandas.ExcelFile'>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 1621, in __init__
    self._reader = self._engines[engine](
    │              │    │        └ 'openpyxl'
    │              │    └ {'xlrd': <class 'pandas.io.excel._xlrd.XlrdReader'>, 'openpyxl': <class 'pandas.io.excel._openpyxl.OpenpyxlReader'>, 'odf': <...
    │              └ <pandas.ExcelFile object at 0x000001BA50B3D690>
    └ <pandas.ExcelFile object at 0x000001BA50B3D690>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 560, in __init__
    super().__init__(
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 554, in __init__
    self.book = self.load_workbook(self.handles.handle, engine_kwargs)
    │           │    │             │    │       │       └ {}
    │           │    │             │    │       └ <_io.BytesIO object at 0x000001BA90F33010>
    │           │    │             │    └ IOHandles(handle=<_io.BytesIO object at 0x000001BA90F33010>, compression={'method': None}, created_handles=[], is_wrapped=False)
    │           │    │             └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10>
    │           │    └ <function OpenpyxlReader.load_workbook at 0x000001BA3324F7E0>
    │           └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10>
    └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 579, in load_workbook
    return load_workbook(
           └ <function load_workbook at 0x000001BA5A024040>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 348, in load_workbook
    reader.read()
    │      └ <function ExcelReader.read at 0x000001BA5A0659E0>
    └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 291, in read
    self.read_strings()
    │    └ <function ExcelReader.read_strings at 0x000001BA5A065580>
    └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010>
  File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 146, in read_strings
    with self.archive.open(strings_path,) as src:
         │    │       │    └ 'xl/sharedStrings.xml'
         │    │       └ <function ZipFile.open at 0x000001BA7B6A2A20>
         │    └ <zipfile.ZipFile file=<_io.BytesIO object at 0x000001BA90F33010> mode='r'>
         └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010>
  File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\zipfile.py", line 1577, in open
    zinfo = self.getinfo(name)
            │    │       └ 'xl/sharedStrings.xml'
            │    └ <function ZipFile.getinfo at 0x000001BA7B6A2700>
            └ <zipfile.ZipFile file=<_io.BytesIO object at 0x000001BA90F33010> mode='r'>
  File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\zipfile.py", line 1506, in getinfo
    raise KeyError(

KeyError: "There is no item named 'xl/sharedStrings.xml' in the archive"
2026-03-12 15:30:37.431 | ERROR    | open_webui.routers.files:_process_handler:150 - Error processing file: 65ec18a5-271a-4240-8df9-6ad0882d790d

Additional Information

No response

Originally created by @FragsterAt on GitHub (Mar 12, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/22613 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Other ### Open WebUI Version v0.8.10 ### Ollama Version (if applicable) _No response_ ### Operating System windows server 2008 ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior The file should be processed successfully, regardless of the case of internal filenames (e.g., SharedStrings.xml or sharedStrings.xml). ### Actual Behavior When attempting to upload and process a valid .xlsx file via the OpenWebUI API, the system fails with the error: Copy "There is no item named 'xl/sharedStrings.xml' in the archive" However, upon manual inspection of the .xlsx file (which is a ZIP archive), the file xl/SharedStrings.xml does exist, but the first letter of the filename is uppercase (SharedStrings.xml instead of sharedStrings.xml). This suggests that the file processing logic in OpenWebUI performs a case-sensitive check for the presence of xl/sharedStrings.xml, which fails for files where the filename uses a different case (e.g., SharedStrings.xml). This is problematic because: The [Office Open XML (OOXML) specification](https://www.ecma-international.org/publications-and-standards/standards/ecma-376/) does not enforce a specific case for internal filenames in .xlsx files. Many tools (including Microsoft Excel and LibreOffice) may generate .xlsx files with varying filename cases, leading to false negatives during processing. ### Steps to Reproduce Steps to Reproduce: Upload [test.xlsx](https://github.com/user-attachments/files/25934689/test.xlsx) file to OpenWebUI chat. Observe the error: "There is no item named 'xl/sharedStrings.xml' in the archive". ### Logs & Screenshots <img width="429" height="114" alt="Image" src="https://github.com/user-attachments/assets/fa56e7c4-4058-4b02-b104-6d27ce9a91a1" /> ``` 2026-03-12 15:30:37.419 | ERROR | open_webui.routers.retrieval:process_file:1880 - "There is no item named 'xl/sharedStrings.xml' in the archive" Traceback (most recent call last): File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ <function Thread._bootstrap_inner at 0x000001BA78A4B100> └ <WorkerThread(AnyIO worker thread, started 24424)> File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ <function WorkerThread.run at 0x000001BA4169A160> └ <WorkerThread(AnyIO worker thread, started 24424)> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\anyio\_backends\_asyncio.py", line 986, in run result = context.run(func, *args) │ │ │ └ () │ │ └ functools.partial(<function process_uploaded_file at 0x000001BA36DCFBA0>, <starlette.requests.Request object at 0x000001BA403... │ └ <method 'run' of '_contextvars.Context' objects> └ <_contextvars.Context object at 0x000001BA5337DA40> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\files.py", line 164, in process_uploaded_file _process_handler(db_session) │ └ <sqlalchemy.orm.session.Session object at 0x000001BA51C64D90> └ <function process_uploaded_file.<locals>._process_handler at 0x000001BA5746EB60> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\files.py", line 128, in _process_handler process_file( └ <function process_file at 0x000001BA38F43920> > File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\routers\retrieval.py", line 1779, in process_file docs = loader.load( │ └ <function Loader.load at 0x000001BA38CF62A0> └ <open_webui.retrieval.loaders.main.Loader object at 0x000001BA54B27D50> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\open_webui\retrieval\loaders\main.py", line 197, in load docs = loader.load() │ └ <function BaseLoader.load at 0x000001BA33CB3380> └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_core\document_loaders\base.py", line 43, in load return list(self.lazy_load()) │ └ <function UnstructuredBaseLoader.lazy_load at 0x000001BA3889AB60> └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_community\document_loaders\unstructured.py", line 107, in lazy_load elements = self._get_elements() │ └ <function UnstructuredExcelLoader._get_elements at 0x000001BA38CCD760> └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\langchain_community\document_loaders\excel.py", line 52, in _get_elements return partition_xlsx(filename=self.file_path, **self.unstructured_kwargs) │ │ │ │ └ {} │ │ │ └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210> │ │ └ 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx' │ └ <langchain_community.document_loaders.excel.UnstructuredExcelLoader object at 0x000001BA54AF9210> └ <function partition_xlsx at 0x000001BA599B91C0> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\common\metadata.py", line 161, in wrapper elements = func(*args, **kwargs) │ │ └ {'filename': 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx'} │ └ () └ <function partition_xlsx at 0x000001BA599B9120> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\chunking\dispatch.py", line 74, in wrapper elements = func(*args, **kwargs) │ │ └ {'filename': 'C:\\open-webui\\data\\uploads/65ec18a5-271a-4240-8df9-6ad0882d790d_test.xlsx'} │ └ () └ <function partition_xlsx at 0x000001BA599B82C0> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\xlsx.py", line 86, in partition_xlsx opts.sheets.items(), start=starting_page_number │ │ └ 1 │ └ <unstructured.utils.lazyproperty object at 0x000001BA57844AD0> └ <unstructured.partition.xlsx._XlsxPartitionerOptions object at 0x000001BA592AE990> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\utils.py", line 154, in __get__ value = self._fget(obj) │ │ └ <unstructured.partition.xlsx._XlsxPartitionerOptions object at 0x000001BA592AE990> │ └ <function _XlsxPartitionerOptions.sheets at 0x000001BA599B96C0> └ <unstructured.utils.lazyproperty object at 0x000001BA57844AD0> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\unstructured\partition\xlsx.py", line 200, in sheets return pd.read_excel( │ └ <function read_excel at 0x000001BA3324C680> └ <module 'pandas' from 'C:\\Users\\meticulous\\AppData\\Local\\uv\\cache\\archive-v0\\2bLDf_sBuDCniW-tUX-EG\\Lib\\site-package... File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 481, in read_excel io = ExcelFile( └ <class 'pandas.ExcelFile'> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 1621, in __init__ self._reader = self._engines[engine]( │ │ │ └ 'openpyxl' │ │ └ {'xlrd': <class 'pandas.io.excel._xlrd.XlrdReader'>, 'openpyxl': <class 'pandas.io.excel._openpyxl.OpenpyxlReader'>, 'odf': <... │ └ <pandas.ExcelFile object at 0x000001BA50B3D690> └ <pandas.ExcelFile object at 0x000001BA50B3D690> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 560, in __init__ super().__init__( File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_base.py", line 554, in __init__ self.book = self.load_workbook(self.handles.handle, engine_kwargs) │ │ │ │ │ │ └ {} │ │ │ │ │ └ <_io.BytesIO object at 0x000001BA90F33010> │ │ │ │ └ IOHandles(handle=<_io.BytesIO object at 0x000001BA90F33010>, compression={'method': None}, created_handles=[], is_wrapped=False) │ │ │ └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10> │ │ └ <function OpenpyxlReader.load_workbook at 0x000001BA3324F7E0> │ └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10> └ <pandas.io.excel._openpyxl.OpenpyxlReader object at 0x000001BA54AF9E10> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 579, in load_workbook return load_workbook( └ <function load_workbook at 0x000001BA5A024040> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 348, in load_workbook reader.read() │ └ <function ExcelReader.read at 0x000001BA5A0659E0> └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 291, in read self.read_strings() │ └ <function ExcelReader.read_strings at 0x000001BA5A065580> └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010> File "C:\Users\meticulous\AppData\Local\uv\cache\archive-v0\2bLDf_sBuDCniW-tUX-EG\Lib\site-packages\openpyxl\reader\excel.py", line 146, in read_strings with self.archive.open(strings_path,) as src: │ │ │ └ 'xl/sharedStrings.xml' │ │ └ <function ZipFile.open at 0x000001BA7B6A2A20> │ └ <zipfile.ZipFile file=<_io.BytesIO object at 0x000001BA90F33010> mode='r'> └ <openpyxl.reader.excel.ExcelReader object at 0x000001BA47F53010> File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\zipfile.py", line 1577, in open zinfo = self.getinfo(name) │ │ └ 'xl/sharedStrings.xml' │ └ <function ZipFile.getinfo at 0x000001BA7B6A2700> └ <zipfile.ZipFile file=<_io.BytesIO object at 0x000001BA90F33010> mode='r'> File "C:\Users\meticulous\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\zipfile.py", line 1506, in getinfo raise KeyError( KeyError: "There is no item named 'xl/sharedStrings.xml' in the archive" 2026-03-12 15:30:37.431 | ERROR | open_webui.routers.files:_process_handler:150 - Error processing file: 65ec18a5-271a-4240-8df9-6ad0882d790d ``` ### Additional Information _No response_
GiteaMirror added the bug label 2026-04-25 09:31:47 -05:00
Author
Owner

@tjbck commented on GitHub (Mar 24, 2026):

This is an upstream issue and needs to be addressed from openpyxl

<!-- gh-comment-id:4121789319 --> @tjbck commented on GitHub (Mar 24, 2026): This is an upstream issue and needs to be addressed from openpyxl
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#35294