code: def test_schema_overrides(
      path_xlsx: Path, path_xlsb: Path, path_ods: Path
  ) -> None:
      df1 = pl.read_excel(
          path_xlsx,
          sheet_name="test4",
          schema_overrides={"cardinality": pl.UInt16},
      ).drop_nulls()
      assert df1.schema == {
          "cardinality": pl.UInt16,
          "rows_by_key": pl.Float64,
          "iter_groups": pl.Float64,
      }
  
      df2 = pl.read_excel(
          path_xlsx,
          sheet_name="test4",
          read_csv_options={"dtypes": {"cardinality": pl.UInt16}},
      ).drop_nulls()
      assert df2.schema == {
          "cardinality": pl.UInt16,
          "rows_by_key": pl.Float64,
          "iter_groups": pl.Float64,
      }
  
      df3 = pl.read_excel(
          path_xlsx,
          sheet_name="test4",
          schema_overrides={"cardinality": pl.UInt16},
          read_csv_options={
              "dtypes": {
                  "rows_by_key": pl.Float32,
                  "iter_groups": pl.Float32,
              },
          },
      ).drop_nulls()
      assert df3.schema == {
          "cardinality": pl.UInt16,
          "rows_by_key": pl.Float32,
          "iter_groups": pl.Float32,
      }
  
      for workbook_path in (path_xlsx, path_xlsb, path_ods):
          df4 = pl.read_excel(
              workbook_path,
              sheet_name="test5",
              schema_overrides={
                  "dtm": pl.Datetime("ns"),
                  "dt": pl.Date,
              },
          )
          assert_frame_equal(
              df4,
              pl.DataFrame(
                  {
                      "dtm": [
                          datetime(1999, 12, 31, 10, 30, 45),
                          datetime(2010, 10, 11, 12, 13, 14),
                      ],
                      "dt": [date(2024, 1, 1), date(2018, 8, 7)],
                      "val": [1.5, -0.5],
                  },
                  schema={
                      "dtm": pl.Datetime("ns"),
                      "dt": pl.Date,
                      "val": pl.Float64,
                  },
              ),
          )
  
      with pytest.raises(ParameterCollisionError):
          # cannot specify 'cardinality' in both schema_overrides and read_csv_options
          pl.read_excel(
              path_xlsx,
              sheet_name="test4",
              schema_overrides={"cardinality": pl.UInt16},
              read_csv_options={"dtypes": {"cardinality": pl.Int32}},
          )
  
      # read multiple sheets in conjunction with 'schema_overrides'
      # (note: reading the same sheet twice simulates the issue in #11850)
      overrides = OrderedDict(
          [
              ("cardinality", pl.UInt32),
              ("rows_by_key", pl.Float32),
              ("iter_groups", pl.Float64),
          ]
      )
      df = pl.read_excel(  # type: ignore[call-overload]
          path_xlsx,
          sheet_name=["test4", "test4"],
          schema_overrides=overrides,
      )
      assert df["test4"].schema == overrides
  
imports: from __future__ import annotations
  import warnings
  from collections import OrderedDict
  from datetime import date, datetime
  from io import BytesIO
  from typing import TYPE_CHECKING, Any, Callable, Literal
  import pytest
  import polars
  import polars.selectors
  from polars.exceptions import NoDataError, ParameterCollisionError
  from polars.testing import assert_frame_equal
label_desc: Use image node_id 13 for calling a global function with example usage: test_schema_overrides(path_xlsx, path_xlsb, path_ods) without return types