API Reference
This section contains the automatically generated API documentation extracted from the source code.
pyopenxlsx — complete Python bindings for OpenXLSX-NX.
API layers
Recommended high-level API (stable, Pythonic):
Workbook, Worksheet, Cell, Range, Column, load_workbook,
Font, Fill, Border, Side, Alignment, Style, Protection,
Table, Formula, FormulaEngine, CalculationEngine,
DataValidation, DataValidations, PageMargins, PrintOptions, PageSetup,
chart helpers (Chart, chart_type, add_chart), pivot builders,
conditional_formatting builders, StreamWriter / StreamReader,
DefinedNames / link_cell
Advanced / native surface (pyopenxlsx._openxlsx and star-export of
XL* types): 1:1 with the C++ OpenXLSX-NX API. Prefer for charts/pivot
options enums and low-level rule objects; names may track upstream C++
more closely than the high-level façade.
Internal modules named _ws_* are Worksheet mixins and are not part of
the public API.
- class pyopenxlsx.Alignment(horizontal=None, vertical=None, wrap_text=False, indent=0, text_rotation=0, shrink_to_fit=False)[source]
Bases:
object- horizontal()[source]
- Return type:
Optional[XLAlignmentStyle]
- vertical()[source]
- Return type:
Optional[XLAlignmentStyle]
- class pyopenxlsx.Border(left=None, right=None, top=None, bottom=None, diagonal=None, outline=None)[source]
Bases:
object
- class pyopenxlsx.CalculationEngine(target, options=None)[source]
Bases:
objectSheet- or workbook-scoped formula recalculation with dependency tracking.
- property dirty_count: int
- property formula_count: int
- property raw: XLCalculationEngine
- class pyopenxlsx.Cell(raw_cell, worksheet=None)[source]
Bases:
objectRepresents an Excel cell.
OPTIMIZATION PRINCIPLE: Direct reference model is used for _worksheet_val instead of weakref. Because the Worksheet keeps a WeakValueDictionary _cells cache of Cell objects, there is no strong reference cycle between Worksheet and Cell. This eliminates the allocation of 2 weakref objects for every Cell creation, massively improving performance in loops and preventing GC thrashing.
- property alignment
- property border
- property comment
- property fill
- property font
- property formula
- property is_date
Returns True if the cell is formatted as a date/time. Requires workbook to be passed to Cell constructor.
- property style
- property style_index
- property value
- class pyopenxlsx.Chart(native_chart)[source]
Bases:
objectFluent wrapper around a native
XLChart.Does not own placement; obtain via
add_chart()or wrap an existing chart withChart(native).- property raw: Any
Underlying native chart object.
- series(values_ref, *, name='', categories_ref='', series_type=None, secondary_axis=False)[source]
Add a series from A1-style references.
- Return type:
- class pyopenxlsx.Column(raw_column, worksheet=None)[source]
Bases:
objectRepresents an Excel column.
Uses weak references to avoid circular references with Worksheet/Workbook.
- property style_index
- property width
- class pyopenxlsx.DataValidation(raw_dv, worksheet=None)[source]
Bases:
objectRepresents an Excel data validation rule.
- property allow_blank
Whether blank values are allowed.
- property error
The error message.
- property error_style
Get the error style.
- property error_title
The title of the error message.
- property formula1
The first formula for the validation.
- property formula2
The second formula for the validation.
- property ime_mode
Get the IME mode.
- property operator
Get the validation operator.
- property prompt
The prompt message.
- property prompt_title
The title of the prompt message.
- set_error(title, message, style='stop')[source]
Set the error message title, message and style. Style can be ‘stop’, ‘warning’, or ‘information’.
- Return type:
None
- set_reference_drop_list(sheet_name, range_ref)[source]
Set a drop-down list from a range reference on another sheet.
- Return type:
None
- property show_drop_down
Whether to show a drop-down list.
- property show_error_message
Whether to show the error message.
- property show_input_message
Whether to show the input message.
- property sqref
Get the range (sqref) this validation applies to.
- property type
Get the validation type.
- class pyopenxlsx.DataValidations(raw_dvs, worksheet=None)[source]
Bases:
objectManages all data validation rules in a worksheet.
- add_validation(sqref, type='none', operator='between', formula1='', formula2='', **kwargs)[source]
Convenience method to add a data validation rule.
- Return type:
- class pyopenxlsx.DefinedName(native)[source]
Bases:
objectThin wrapper around a native
XLDefinedName.Forwards attribute access to the native object (
name(),refers_to(), …) so existing call sites keep working.- property raw: Any
- class pyopenxlsx.DefinedNames(native, workbook=None)[source]
Bases:
objectCollection API for workbook named ranges.
Wraps native
XLDefinedNameswhile keepingappend/get/exists/removecompatible with existing call sites. Preferdefine()for new code.- all()[source]
- Return type:
List[DefinedName]
- append(name, formula, local_sheet_id=None)[source]
Native-compatible append (does not replace existing names).
- Return type:
Any
- define(name, refers_to, *, local_sheet_id=None, sheet=None, hidden=False, comment='')[source]
Define (or redefine) a named range.
- Parameters:
name (
str) – Defined name (no spaces recommended).refers_to (
str) – Formula/reference, e.g."Sheet1!$A$1:$B$10".local_sheet_id (
Optional[int]) – Optional 0-based sheet-local scope.sheet (
Any) – Alternative to local_sheet_id; a high-levelWorksheetor sheet title string.hidden (
bool) – Hide the name from Excel’s UI when True.comment (
str) – Optional comment on the defined name.
- Return type:
- property raw: Any
- class pyopenxlsx.Fill(pattern_type=XLPatternType.Solid, color=None, background_color=None)[source]
Bases:
object
- class pyopenxlsx.Font(name='Arial', size=11, bold=False, italic=False, color=None, underline=None, strikethrough=False)[source]
Bases:
object
- class pyopenxlsx.Formula(raw_cell)[source]
Bases:
objectWrapper for Excel formulas. Allows interacting with the formula assigned to a cell.
- property text
Get or set the formula string.
- class pyopenxlsx.FormulaEngine[source]
Bases:
objectLightweight formula evaluation engine (single expression).
Prefer this for ad-hoc evaluation. For workbook/sheet recalculation of stored cell formulas, use
CalculationEngine.- evaluate(formula, worksheet=None, *, session=None, reporter=None, current_row=None, current_col=None, current_sheet=None)[source]
Evaluate a formula string.
If a worksheet is provided, cell references within the formula will be resolved. Optionally pass session / reporter, or current_row/col/sheet for parameterless
ROW()/COLUMN()and relative features.The formula may be written with or without a leading
=.- Return type:
Any
- evaluate_many(formulas, worksheet=None, **kwargs)[source]
Evaluate multiple formulas with the same worksheet/session kwargs.
- Return type:
List[Any]
- if_(condition, true_value, false_value='FALSE', worksheet=None, **kwargs)[source]
Evaluate
IF(condition, true, false).- Return type:
Any
- property raw: XLFormulaEngine
Underlying native engine.
- class pyopenxlsx.ImageInfo
Bases:
object- property extension
File extension (e.g., ‘png’)
- property name
Image filename (e.g., ‘image1.png’)
- property path
Full path in archive (e.g., ‘xl/media/image1.png’)
- class pyopenxlsx.PageMargins(raw_margins, worksheet=None)[source]
Bases:
objectRepresents the page margins of a worksheet. Values are in inches.
- property bottom
- property header
- property left
- property right
- property top
- class pyopenxlsx.PageSetup(raw_setup, worksheet=None)[source]
Bases:
objectRepresents the page setup of a worksheet.
- property black_and_white
Whether to print in black and white.
- property fit_to_height
The number of pages to fit to height.
- property fit_to_width
The number of pages to fit to width.
- property orientation
The page orientation (XLPageOrientation).
- property paper_size
The paper size (Excel internal paper size enumeration).
- property scale
The print scale (in percentage).
- class pyopenxlsx.PivotTableBuilder(name, source_range, target_cell='A1')[source]
Bases:
objectBuild and attach a pivot table with a chainable API.
Example:
PivotTableBuilder("SalesPivot", "Sheet1!A1:C20", "E1") \ .rows("Region") \ .columns("Year") \ .data("Amount", subtotal="sum") \ .style("PivotStyleMedium9") \ .add_to(ws)
- add_to(worksheet)[source]
Create the pivot table on worksheet and return the native result.
- Return type:
Any
- configure(**flags)[source]
Set common boolean options by keyword.
Supported keys map to
set_*methods without theset_prefix, e.g.show_drill=True,use_auto_formatting=True.- Return type:
- property options: XLPivotTableOptions
Underlying native options object.
- class pyopenxlsx.PrintOptions(raw_options, worksheet=None)[source]
Bases:
objectRepresents the print options of a worksheet.
- property grid_lines
Whether grid lines are printed.
- property headings
Whether row and column headings are printed.
- property horizontal_centered
Whether content is horizontally centered on the page.
- property vertical_centered
Whether content is vertically centered on the page.
- pyopenxlsx.PythonMergeCells
alias of
MergeCells
- class pyopenxlsx.Range(raw_range, worksheet=None)[source]
Bases:
objectLightweight view over a rectangular block of cells.
Architectural role
Rangeis a geometry + iteration façade: address, dimensions, cell iteration, and clear. Prefer delegating multi-cell style, bulk write, drawing, or workbook I/O toWorksheet/ bulk APIs rather than growing kitchen-sink methods on this type.Uses a weak reference to the parent worksheet to avoid cycles.
- property address
- property num_columns
- property num_rows
- class pyopenxlsx.Side(style=XLLineStyle.Thin, color=None)[source]
Bases:
object
- class pyopenxlsx.StreamReader(native_reader)[source]
Bases:
objectThin façade over the native worksheet stream reader.
- class pyopenxlsx.StreamWriter(native_writer, workbook=None)[source]
Bases:
objectThin façade over the native worksheet stream writer.
- property is_active: bool
- property last_row: int
- property max_column: int
- class pyopenxlsx.Style(font=None, fill=None, border=None, alignment=None, number_format=None, protection=None)[source]
Bases:
object
- class pyopenxlsx.Table(raw_table, worksheet=None)[source]
Bases:
objectRepresents an Excel Table (ListObject).
- property display_name
The display name of the table.
- property name
The name of the table. Table names cannot have spaces.
- property range
The range reference of the table (e.g., ‘A1:C10’).
- property show_column_stripes
Whether column stripes are shown.
- property show_first_column
Whether the first column is highlighted.
- property show_last_column
Whether the last column is highlighted.
- property show_row_stripes
Whether row stripes are shown.
- property show_totals_row
Whether the totals row is shown.
- property style
The table style name (e.g., ‘TableStyleMedium2’).
- class pyopenxlsx.Workbook(filename=None, force_overwrite=True, password=None)[source]
Bases:
objectRepresents an Excel workbook.
Uses WeakValueDictionary for worksheet caching to allow garbage collection of Worksheet objects when they are no longer referenced elsewhere.
- property active
- add_style(font=None, fill=None, border=None, alignment=None, number_format=None, protection=None)[source]
Register a cell style and return its style index.
Implementation lives in
pyopenxlsx._style_registryso this method stays a thin public entry point.- Return type:
int
- async add_style_async(font=None, fill=None, border=None, alignment=None, number_format=None, protection=None)[source]
- Return type:
int
- property custom_properties
Get the custom document properties.
- property defined_names
Access defined names (named ranges) via
DefinedNames.
- extract_images(output_dir)[source]
Extract all embedded images to a directory.
- Return type:
List[str]
- Args:
- output_dir: Directory path where images will be saved.
Will be created if it doesn’t exist.
- Returns:
list[str]: List of paths to the extracted image files.
- Example:
>>> wb = Workbook("test.xlsx") >>> extracted = wb.extract_images("./images/") >>> print(f"Extracted {len(extracted)} images")
- async extract_images_async(output_dir)[source]
Async version of extract_images.
- Return type:
List[str]
- get_archive_entries()[source]
Get a list of all files/directories in the underlying zip archive.
- Return type:
List[str]
- Returns:
list[str]: List of entry paths.
- get_archive_entry(path)[source]
Get the raw bytes of an entry from the underlying zip archive.
- Return type:
bytes
- Args:
path: Path in the archive (e.g., ‘xl/workbook.xml’).
- Returns:
bytes: The raw binary data of the entry.
- Raises:
RuntimeError: If the entry is not found in the archive.
- get_embedded_images()[source]
Get a list of all embedded images in the workbook.
- Return type:
List[Any]
- Returns:
list[ImageInfo]: List of ImageInfo objects with name, path, and extension attributes.
- Example:
>>> wb = Workbook("test.xlsx") >>> images = wb.get_embedded_images() >>> for img in images: ... print(f"Found image: {img.name}")
- get_image_data(image_path_or_name)[source]
Get the binary data of an embedded image.
- Return type:
bytes
- Args:
- image_path_or_name: Either the full path (e.g., ‘xl/media/image1.png’)
or just the filename (e.g., ‘image1.png’)
- Returns:
bytes: The raw binary data of the image.
- Raises:
RuntimeError: If the image is not found in the archive.
- Example:
>>> wb = Workbook("test.xlsx") >>> images = wb.get_embedded_images() >>> if images: ... data = wb.get_image_data(images[0].name) ... with open("extracted_image.png", "wb") as f: ... f.write(data)
- has_archive_entry(path)[source]
Check if the underlying zip archive contains an entry with the given path.
- Return type:
bool
- Args:
path: Path in the archive (e.g., ‘xl/workbook.xml’).
- Returns:
bool: True if the entry exists.
- property has_macro
Check if the loaded document contains a VBA macro project.
- property properties
- property sheetnames
- property styles
- validate_package_invariants()[source]
Validate package-level OOXML invariants (also run automatically on save).
- property workbook
- class pyopenxlsx.Worksheet(raw_sheet, workbook=None)[source]
Bases:
WorksheetBulkMixin,WorksheetDrawingMixin,WorksheetFeaturesMixin,WorksheetPageMixin,WorksheetProtectionMixinRepresents an Excel worksheet.
Uses WeakValueDictionary for cell caching to allow garbage collection of Cell objects when they are no longer referenced elsewhere.
Performance note
Prefer bulk APIs (
set_cell_value,write_rows,set_cells,write_range,get_range_values) for hot loops. Per-cellCellwrappers allocate Python objects and are best for sparse edits.- delete_column(col_number, count=1)[source]
Delete one or more columns starting at the given column number (1-based).
- Return type:
bool
- delete_row(row_number, count=1)[source]
Delete one or more rows starting at the given row number (1-based).
- Return type:
bool
- property drawing
Get the drawing object for the worksheet.
- property has_drawing
Check if the worksheet has a drawing (images, charts, etc.).
- property index
- insert_column(col_number, count=1)[source]
Insert one or more columns at the given column number (1-based).
- Return type:
bool
- insert_row(row_number, count=1)[source]
Insert one or more rows at the given row number (1-based).
- Return type:
bool
- iter_native_rows(first=None, last=None)[source]
Iterate native XLRow objects (distinct from
rowsCell tuples).- Return type:
Any
- iter_rows(min_row=None, max_row=None, min_col=None, max_col=None, values_only=False)[source]
Iterate over worksheet rows, openpyxl-compatible.
- Return type:
Iterator[Tuple[Any,...]]
- Args:
min_row: First row (1-based, inclusive). Defaults to 1. max_row: Last row (1-based, inclusive). Defaults to ws.max_row. min_col: First column (1-based, inclusive). Defaults to 1. max_col: Last column (1-based, inclusive). Defaults to ws.max_column. values_only: If True, yield tuples of raw Python values without
creating any Cell objects. Uses the C++ fast-read path (one get_row_values() call per row), so peak memory stays O(columns) regardless of total row count. If False, yield tuples of Cell objects (same semantics as ws.rows, but with configurable range bounds).
- Yields:
tuple[Any, …] when values_only=True tuple[Cell, …] when values_only=False
Example:
# openpyxl-compatible value scan (fast): for row in ws.iter_rows(values_only=True): process(row) # Partial range, Cell objects: for row in ws.iter_rows(min_row=2, max_row=100, min_col=1, max_col=5): for cell in row: print(cell.value)
- property max_column
- property max_row
- property merges
- property name
Alias for title to maintain compatibility and prevent dynamic attribute bugs.
- property rows
Iterate over all rows as tuples of Cell objects.
For value-only iteration (10-20x faster for read-only access), use:
ws.iter_rows(values_only=True)
- property sheet_state
- stream_reader(options=None, *, empty_rows=None, apply_number_formats=None)[source]
Get a stream reader for this worksheet.
- Parameters:
options (
Any) – Optional XLStreamReadOptions instance.empty_rows (
Any) – XLStreamEmptyRowPolicy (or pass via options).apply_number_formats (
Optional[bool]) – When True, format numeric cells as display strings where applicable (used by next_row_strings).
- Return type:
- stream_writer(use_shared_strings=False, max_unique_strings=100000)[source]
Get a stream writer for this worksheet.
Returns a
StreamWriterthat applies the same date/datetime coercion andauto_date_formatsbehaviour as bulk worksheet writes.- Parameters:
use_shared_strings (
bool) – When True, reuse shared-string table entries (saves space for repeated text at the cost of a bounded local cache).max_unique_strings (
int) – Cap on unique strings cached when use_shared_strings is True.
- Return type:
- property title
- property zoom
Get or set the worksheet zoom scale (percentage, e.g., 100).
- class pyopenxlsx.XLAlignment(*args, **kwargs)
Bases:
object- horizontal(self) pyopenxlsx._openxlsx.XLAlignmentStyle
- indent(self) int
- rotation(self) int
- set_horizontal(self, arg: pyopenxlsx._openxlsx.XLAlignmentStyle, /) bool
- set_indent(self, arg: int, /) bool
- set_rotation(self, arg: int, /) bool
- set_shrink_to_fit(self, set: bool = True) bool
- set_vertical(self, arg: pyopenxlsx._openxlsx.XLAlignmentStyle, /) bool
- set_wrap_text(self, set: bool = True) bool
- shrink_to_fit(self) bool
- vertical(self) pyopenxlsx._openxlsx.XLAlignmentStyle
- wrap_text(self) bool
- class pyopenxlsx.XLAlignmentStyle(*values)
Bases:
Enum- Bottom = 5
- Center = 3
- CenterContinuous = 8
- Distributed = 9
- Fill = 6
- General = 0
- Justify = 7
- Left = 1
- Right = 2
- Top = 4
- class pyopenxlsx.XLAutoFilter
Bases:
object- filter_column(self, arg: int, /) pyopenxlsx._openxlsx.XLFilterColumn
- ref(self) str
- set_ref(self, ref: str) pyopenxlsx._openxlsx.XLAutoFilter
- set_ref_range(self, range: pyopenxlsx._openxlsx.XLCellRange) pyopenxlsx._openxlsx.XLAutoFilter
- class pyopenxlsx.XLAxis
Bases:
object- set_crosses(self, arg: pyopenxlsx._openxlsx.XLAxisCrosses, /) None
- set_orientation(self, arg: pyopenxlsx._openxlsx.XLAxisOrientation, /) None
- set_tick_label_position(self, position: pyopenxlsx._openxlsx.XLAxisTickLabelPosition) None
- class pyopenxlsx.XLAxisTickLabelPosition(*values)
Bases:
Enum- High = 1
- Low = 2
- NextToAxis = 0
- None_ = 3
- class pyopenxlsx.XLBorder(*args, **kwargs)
Bases:
object- bottom(self) pyopenxlsx._openxlsx.XLLine
- diagonal(self) pyopenxlsx._openxlsx.XLLine
- diagonal_down(self) bool
True if the diagonal runs from top-left to bottom-right.
- diagonal_up(self) bool
True if the diagonal runs from bottom-left to top-right.
- horizontal(self) pyopenxlsx._openxlsx.XLLine
Get the inner horizontal line (used in merged cell borders).
- left(self) pyopenxlsx._openxlsx.XLLine
- outline(self) bool
True if the border outline attribute is set.
- right(self) pyopenxlsx._openxlsx.XLLine
- set_bottom(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
- set_diagonal(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
- set_diagonal_down(self, set: bool = True) pyopenxlsx._openxlsx.XLBorder
Enable/disable diagonal from top-left to bottom-right.
- set_diagonal_up(self, set: bool = True) pyopenxlsx._openxlsx.XLBorder
Enable/disable diagonal from bottom-left to top-right.
- set_horizontal(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
Set the inner horizontal line style (used in merged cell borders).
- set_left(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
- set_outline(self, set: bool = True) pyopenxlsx._openxlsx.XLBorder
Enable/disable the border outline attribute.
- set_right(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
- set_top(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
- set_vertical(self, lineStyle: pyopenxlsx._openxlsx.XLLineStyle, lineColor: pyopenxlsx._openxlsx.XLColor, lineTint: float = 0.0) bool
Set the inner vertical line style (used in merged cell borders).
- summary(self) str
- top(self) pyopenxlsx._openxlsx.XLLine
- vertical(self) pyopenxlsx._openxlsx.XLLine
Get the inner vertical line (used in merged cell borders).
- class pyopenxlsx.XLBorders
Bases:
object- border_by_index(self, arg: int, /) pyopenxlsx._openxlsx.XLBorder
- count(self) int
- create(self, copyFrom: pyopenxlsx._openxlsx.XLBorder = <pyopenxlsx._openxlsx.XLBorder object at 0x7f4a5d6c9cb0>, styleEntriesPrefix: str = '\n\t\t') int
- class pyopenxlsx.XLCalculationEngine(*args, **kwargs)
Bases:
object- calc_cell_value(self, a1: str) object
- dependencies(self, a1: str) list[pyopenxlsx._openxlsx.XLCellKey]
- dependents(self, a1: str) list[pyopenxlsx._openxlsx.XLCellKey]
- property dirty_count
(self) -> int
- extract_dependencies = <nanobind.nb_func object>
- property formula_count
(self) -> int
- property is_multi_sheet
(self) -> bool
- property last_status
(self) -> pyopenxlsx._openxlsx.XLCalcStatus
- recalculate(self) int
- recalculate_all(self) int
- update_formula_cell(self, a1: str) bool
- class pyopenxlsx.XLCalculationOptions(*args, **kwargs)
Bases:
object- property auto_track_changes
(self) -> bool
- property circular_error_token
(self) -> str
- property max_depth
(self) -> int
- property max_expanded_deps
(self) -> int
- property propagate_dirty
(self) -> bool
- property set_full_calc_on_load
(self) -> bool
- property use_defined_names
(self) -> bool
- property write_back
(self) -> bool
- class pyopenxlsx.XLCell
Bases:
object- add_comment(self, text: str, author: str = '') pyopenxlsx._openxlsx.XLThreadedComment
- add_note(self, text: str, author: str = '') pyopenxlsx._openxlsx.XLCell
- cell_format(self) int
- cell_reference(self) pyopenxlsx._openxlsx.XLCellReference
- copy_from(self, other: pyopenxlsx._openxlsx.XLCell) None
- empty(self) bool
- get_formula(self) str
- get_string(self) str
- has_formula(self) bool
- offset(self, row_offset: int, col_offset: int) pyopenxlsx._openxlsx.XLCell
- set_cell_format(self, arg: int, /) pyopenxlsx._openxlsx.XLCell
- set_style(self, style: pyopenxlsx._openxlsx.XLStyle) pyopenxlsx._openxlsx.XLCell
- property value
(self) -> object
- exception pyopenxlsx.XLCellAddressError
Bases:
XLException
- class pyopenxlsx.XLCellFormat(*args, **kwargs)
Bases:
object- alignment(self, createIfMissing: bool = False) pyopenxlsx._openxlsx.XLAlignment
- apply_alignment(self) bool
- apply_border(self) bool
- apply_fill(self) bool
- apply_font(self) bool
- apply_number_format(self) bool
- apply_protection(self) bool
- border_index(self) int
- fill_index(self) int
- font_index(self) int
- locked(self) bool
- number_format_id(self) int
- set_apply_alignment(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_apply_border(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_apply_fill(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_apply_font(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_apply_number_format(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_apply_protection(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_border_index(self, arg: int, /) pyopenxlsx._openxlsx.XLCellFormat
- set_fill_index(self, arg: int, /) pyopenxlsx._openxlsx.XLCellFormat
- set_font_index(self, arg: int, /) pyopenxlsx._openxlsx.XLCellFormat
- set_locked(self, set: bool = True) pyopenxlsx._openxlsx.XLCellFormat
- set_number_format_id(self, arg: int, /) pyopenxlsx._openxlsx.XLCellFormat
- class pyopenxlsx.XLCellFormats
Bases:
object- cell_format_by_index(self, arg: int, /) pyopenxlsx._openxlsx.XLCellFormat
- count(self) int
- create(self, copyFrom: pyopenxlsx._openxlsx.XLCellFormat = <pyopenxlsx._openxlsx.XLCellFormat object at 0x7f4a5de45fe0>, styleEntriesPrefix: str = '\n\t\t') int
- class pyopenxlsx.XLCellKey(*args, **kwargs)
Bases:
object- address(self) str
- property col
(self) -> int
- parse = <nanobind.nb_func object>
- qualified_address(self) str
- property row
(self) -> int
- property sheet
(self) -> str
- valid(self) bool
- class pyopenxlsx.XLCellRange
Bases:
object- address(self) str
- apply_style(self, style: pyopenxlsx._openxlsx.XLStyle) None
- bottom_right(self) pyopenxlsx._openxlsx.XLCellReference
- empty(self) bool
- intersect(self, other: pyopenxlsx._openxlsx.XLCellRange) pyopenxlsx._openxlsx.XLCellRange
- num_columns(self) int
- num_rows(self) int
- set_border_outline(self, style: pyopenxlsx._openxlsx.XLLineStyle, color: pyopenxlsx._openxlsx.XLColor) None
- set_format(self, cell_format_index: int) pyopenxlsx._openxlsx.XLCellRange
- top_left(self) pyopenxlsx._openxlsx.XLCellReference
- class pyopenxlsx.XLCellReference(*args, **kwargs)
Bases:
object- address(self) str
- column(self) int
- row(self) int
- class pyopenxlsx.XLCfOperator(*values)
Bases:
Enum- BeginsWith = 10
- Between = 6
- ContainsText = 8
- EndsWith = 11
- Equal = 2
- GreaterThan = 5
- GreaterThanOrEqual = 4
- LessThan = 0
- LessThanOrEqual = 1
- NotBetween = 7
- NotContains = 9
- NotEqual = 3
- class pyopenxlsx.XLCfRule(*args, **kwargs)
Bases:
object- above_average(self) bool
- add_formula(self, new_formula: str) bool
- bottom(self) bool
- dxf_id(self) int
- empty(self) bool
- equal_average(self) bool
- formula(self) str
- formulas(self) list[str]
- operator_(self) pyopenxlsx._openxlsx.XLCfOperator
- percent(self) bool
- priority(self) int
- rank(self) int
- set_above_average(self, set: bool = True) pyopenxlsx._openxlsx.XLCfRule
- set_bottom(self, set: bool = True) pyopenxlsx._openxlsx.XLCfRule
- set_dxf_id(self, new_dxf_id: int) pyopenxlsx._openxlsx.XLCfRule
- set_equal_average(self, set: bool = True) pyopenxlsx._openxlsx.XLCfRule
- set_formula(self, new_formula: str) pyopenxlsx._openxlsx.XLCfRule
- set_operator(self, new_operator: pyopenxlsx._openxlsx.XLCfOperator) pyopenxlsx._openxlsx.XLCfRule
- set_percent(self, set: bool = True) pyopenxlsx._openxlsx.XLCfRule
- set_priority(self, new_priority: int) pyopenxlsx._openxlsx.XLCfRule
- set_rank(self, new_rank: int) pyopenxlsx._openxlsx.XLCfRule
- set_std_dev(self, new_std_dev: int) pyopenxlsx._openxlsx.XLCfRule
- set_stop_if_true(self, set: bool = True) pyopenxlsx._openxlsx.XLCfRule
- set_text(self, new_text: str) pyopenxlsx._openxlsx.XLCfRule
- set_time_period(self, new_time_period: pyopenxlsx._openxlsx.XLCfTimePeriod) pyopenxlsx._openxlsx.XLCfRule
- set_type(self, new_type: pyopenxlsx._openxlsx.XLCfType) pyopenxlsx._openxlsx.XLCfRule
- std_dev(self) int
- stop_if_true(self) bool
- summary(self) str
- text(self) str
- time_period(self) pyopenxlsx._openxlsx.XLCfTimePeriod
- type(self) pyopenxlsx._openxlsx.XLCfType
- class pyopenxlsx.XLCfRules(*args, **kwargs)
Bases:
object- cf_rule_by_index(self, index: int) pyopenxlsx._openxlsx.XLCfRule
- count(self) int
- create(self, copy_from: pyopenxlsx._openxlsx.XLCfRule = <pyopenxlsx._openxlsx.XLCfRule object at 0x7f4a5df8f210>, cf_rule_prefix: str = '\n\t\t') int
- empty(self) bool
- max_priority_value(self) int
- set_priority(self, cf_rule_index: int, new_priority: int) bool
- summary(self) str
- class pyopenxlsx.XLCfTimePeriod(*values)
Bases:
Enum- Last7Days = 3
- LastMonth = 5
- LastWeek = 8
- NextMonth = 6
- NextWeek = 9
- ThisMonth = 4
- ThisWeek = 7
- Today = 0
- Tomorrow = 2
- Yesterday = 1
- class pyopenxlsx.XLCfType(*values)
Bases:
Enum- AboveAverage = 17
- BeginsWith = 10
- CellIs = 1
- ColorScale = 2
- ContainsBlanks = 12
- ContainsErrors = 14
- ContainsText = 8
- DataBar = 3
- DuplicateValues = 7
- EndsWith = 11
- Expression = 0
- IconSet = 4
- NotContainsBlanks = 13
- NotContainsErrors = 15
- NotContainsText = 9
- TimePeriod = 16
- Top10 = 5
- UniqueValues = 6
- class pyopenxlsx.XLCfvoType(*values)
Bases:
Enum- Formula = 4
- Invalid = 255
- Max = 1
- Min = 0
- Number = 2
- Percent = 3
- Percentile = 5
- class pyopenxlsx.XLChart
Bases:
object- add_bubble_series(self, x_val_ref: str, y_val_ref: str, size_ref: str, title: str = '') pyopenxlsx._openxlsx.XLChartSeries
- add_bubble_series(self, wks: pyopenxlsx._openxlsx.XLWorksheet, x_values: pyopenxlsx._openxlsx.XLCellRange, y_values: pyopenxlsx._openxlsx.XLCellRange, sizes: pyopenxlsx._openxlsx.XLCellRange, title: str = '') pyopenxlsx._openxlsx.XLChartSeries
- add_series(self, wks: pyopenxlsx._openxlsx.XLWorksheet, values: pyopenxlsx._openxlsx.XLCellRange, title: str = '', target_chart_type: pyopenxlsx._openxlsx.XLChartType | None = None, use_secondary_axis: bool = False) pyopenxlsx._openxlsx.XLChartSeries
- add_series(self, wks: pyopenxlsx._openxlsx.XLWorksheet, values: pyopenxlsx._openxlsx.XLCellRange, categories: pyopenxlsx._openxlsx.XLCellRange, title: str = '', target_chart_type: pyopenxlsx._openxlsx.XLChartType | None = None, use_secondary_axis: bool = False) pyopenxlsx._openxlsx.XLChartSeries
- add_series_ref(self, values_ref: str, title: str = '', categories_ref: str = '', target_chart_type: pyopenxlsx._openxlsx.XLChartType | None = None, use_secondary_axis: bool = False) pyopenxlsx._openxlsx.XLChartSeries
- axis(self, arg: str, /) pyopenxlsx._openxlsx.XLAxis
- set_legend_position(self, arg: pyopenxlsx._openxlsx.XLLegendPosition, /) None
- set_series_marker(self, arg0: int, arg1: pyopenxlsx._openxlsx.XLMarkerStyle, /) None
- set_show_data_labels(self, show_value: bool, show_category: bool = False, show_percent: bool = False) None
- x_axis(self) pyopenxlsx._openxlsx.XLAxis
- y_axis(self) pyopenxlsx._openxlsx.XLAxis
- class pyopenxlsx.XLChartAnchor(*args, **kwargs)
Bases:
object- property col
(self) -> int
- property height
(self) -> OpenXLSX::XLDistance
- property name
(self) -> str
- property row
(self) -> int
- property width
(self) -> OpenXLSX::XLDistance
- class pyopenxlsx.XLChartSeries
Bases:
object- add_error_bars(self, direction: pyopenxlsx._openxlsx.XLErrorBarDirection, type: pyopenxlsx._openxlsx.XLErrorBarType, val_type: pyopenxlsx._openxlsx.XLErrorBarValueType, value: float = 0.0) pyopenxlsx._openxlsx.XLChartSeries
- add_trendline(self, type: pyopenxlsx._openxlsx.XLTrendlineType, name: str = '', order: int = 2, period: int = 2) pyopenxlsx._openxlsx.XLChartSeries
- set_color(self, hex_rgb: str) pyopenxlsx._openxlsx.XLChartSeries
- set_data_labels(self, show_value: bool, show_category_name: bool = False, show_percent: bool = False) pyopenxlsx._openxlsx.XLChartSeries
- set_data_labels_from_range(self, wks: pyopenxlsx._openxlsx.XLWorksheet, range: pyopenxlsx._openxlsx.XLCellRange) pyopenxlsx._openxlsx.XLChartSeries
- set_data_point_color(self, point_idx: int, hex_rgb: str) pyopenxlsx._openxlsx.XLChartSeries
- set_line_dash(self, dash_type: pyopenxlsx._openxlsx.XLLineDashType) pyopenxlsx._openxlsx.XLChartSeries
- set_line_width(self, points: float) pyopenxlsx._openxlsx.XLChartSeries
- set_marker_style(self, arg: pyopenxlsx._openxlsx.XLMarkerStyle, /) pyopenxlsx._openxlsx.XLChartSeries
- set_smooth(self, arg: bool, /) pyopenxlsx._openxlsx.XLChartSeries
- set_title(self, arg: str, /) pyopenxlsx._openxlsx.XLChartSeries
- class pyopenxlsx.XLChartType(*values)
Bases:
Enum- Area = 31
- Area3D = 34
- Area3DPercentStacked = 36
- Area3DStacked = 35
- AreaPercentStacked = 33
- AreaStacked = 32
- Bar = 0
- Bar3D = 3
- Bar3DPercentStacked = 5
- Bar3DStacked = 4
- BarPercentStacked = 2
- BarStacked = 1
- Bubble = 24
- Column = 6
- Column3D = 9
- Column3DPercentStacked = 11
- Column3DStacked = 10
- ColumnPercentStacked = 8
- ColumnStacked = 7
- Doughnut = 37
- Line = 12
- Line3D = 15
- LinePercentStacked = 14
- LineStacked = 13
- Pie = 16
- Pie3D = 17
- Radar = 38
- RadarFilled = 39
- RadarMarkers = 40
- Scatter = 18
- ScatterLine = 19
- ScatterLineMarker = 20
- ScatterMarker = 23
- ScatterSmooth = 21
- ScatterSmoothMarker = 22
- StockHLC = 25
- StockOHLC = 26
- Surface = 27
- Surface3D = 28
- Surface3DWireframe = 30
- SurfaceWireframe = 29
- class pyopenxlsx.XLChartsheet
Bases:
object- color(self) pyopenxlsx._openxlsx.XLColor
- index(self) int
- is_active(self) bool
- is_selected(self) bool
- name(self) str
- set_active(self) bool
- set_color(self, color: pyopenxlsx._openxlsx.XLColor) None
- set_visibility(self, state: pyopenxlsx._openxlsx.XLSheetState) None
- visibility(self) pyopenxlsx._openxlsx.XLSheetState
- class pyopenxlsx.XLColor(*args, **kwargs)
Bases:
object- alpha(self) int
- blue(self) int
- green(self) int
- hex(self) str
- red(self) int
- class pyopenxlsx.XLColumn
Bases:
object- format(self) int
- set_format(self, cellFormatIndex: int) bool
- width(self) float
- class pyopenxlsx.XLComment
Bases:
object- author_id(self) int
- ref(self) str
- set_author_id(self, arg: int, /) pyopenxlsx._openxlsx.XLComment
- set_text(self, arg: str, /) pyopenxlsx._openxlsx.XLComment
- text(self) str
- valid(self) bool
- class pyopenxlsx.XLComments
Bases:
object- add_author(self, arg: str, /) int
- author(self, arg: int, /) str
- author_count(self) int
- count(self) int
- delete_comment(self, arg: str, /) bool
- get(self, arg: int, /) pyopenxlsx._openxlsx.XLComment
- get(self, arg: str, /) str
- set(self, cellRef: str, comment: str, author_id: int = 0, widthCols: int = 4, heightRows: int = 6) bool
- shape(self, arg: str, /) pyopenxlsx._openxlsx.XLShape
- class pyopenxlsx.XLConditionalFormat(*args, **kwargs)
Bases:
object- cf_rules(self) pyopenxlsx._openxlsx.XLCfRules
- empty(self) bool
- set_sqref(self, new_sqref: str) bool
- sqref(self) str
- summary(self) str
- class pyopenxlsx.XLConditionalFormats(*args, **kwargs)
Bases:
object- count(self) int
- empty(self) bool
- class pyopenxlsx.XLContentItem(*args, **kwargs)
Bases:
object- path(self) str
- type(self) pyopenxlsx._openxlsx.XLContentType
- class pyopenxlsx.XLContentType(*values)
Bases:
Enum- CalculationChain = 14
- Chart = 10
- ChartColorStyle = 12
- ChartStyle = 11
- Chartsheet = 4
- Comments = 19
- ControlProperties = 13
- CoreProperties = 16
- CustomProperties = 18
- Drawing = 9
- ExtendedProperties = 17
- ExternalLink = 5
- Hyperlink = 22
- Relationships = 1
- Styles = 7
- Table = 20
- Theme = 6
- Unknown = 23
- VBAProject = 15
- VMLDrawing = 21
- Workbook = 0
- WorkbookMacroEnabled = 2
- Worksheet = 3
- class pyopenxlsx.XLContentTypes
Bases:
object- add_override(self, arg0: str, arg1: pyopenxlsx._openxlsx.XLContentType, /) None
- content_item(self, arg: str, /) pyopenxlsx._openxlsx.XLContentItem
- delete_override(self, arg: str, /) None
- delete_override(self, arg: pyopenxlsx._openxlsx.XLContentItem, /) None
- get_content_items(self) list[pyopenxlsx._openxlsx.XLContentItem]
- class pyopenxlsx.XLDataBarColor(*args, **kwargs)
Bases:
object- automatic(self) bool
- indexed(self) int
- rgb(self) pyopenxlsx._openxlsx.XLColor
Get the line color from the rgb attribute as an XLColor.
- set(self, color: pyopenxlsx._openxlsx.XLColor) bool
Alias for set_rgb.
- set_automatic(self, set: bool = True) bool
- set_indexed(self, index: int) bool
- set_rgb(self, color: pyopenxlsx._openxlsx.XLColor) bool
Set the color from an XLColor (rgb attribute).
- set_theme(self, theme: int) bool
- set_tint(self, tint: float) bool
Set the color tint (value between -1.0 and +1.0).
- summary(self) str
- theme(self) int
- tint(self) float
Get the color tint value (between -1.0 and +1.0).
- class pyopenxlsx.XLDataValidation(*args, **kwargs)
Bases:
object- add_cell(self, arg: pyopenxlsx._openxlsx.XLCellReference, /) None
- add_cell(self, arg: str, /) None
- add_range(self, arg0: pyopenxlsx._openxlsx.XLCellReference, arg1: pyopenxlsx._openxlsx.XLCellReference, /) None
- add_range(self, arg: str, /) None
- allow_blank(self) bool
- apply_config(self, arg: pyopenxlsx._openxlsx.XLDataValidationConfig, /) None
- config(self) pyopenxlsx._openxlsx.XLDataValidationConfig
- empty(self) bool
- error(self) str
- error_style(self) pyopenxlsx._openxlsx.XLDataValidationErrorStyle
- error_title(self) str
- formula1(self) str
- formula2(self) str
- ime_mode(self) pyopenxlsx._openxlsx.XLIMEMode
- operator_(self) pyopenxlsx._openxlsx.XLDataValidationOperator
- prompt(self) str
- prompt_title(self) str
- remove_cell(self, arg: pyopenxlsx._openxlsx.XLCellReference, /) None
- remove_cell(self, arg: str, /) None
- remove_range(self, arg0: pyopenxlsx._openxlsx.XLCellReference, arg1: pyopenxlsx._openxlsx.XLCellReference, /) None
- remove_range(self, arg: str, /) None
- set_error(self, title: str, msg: str, style: pyopenxlsx._openxlsx.XLDataValidationErrorStyle = XLDataValidationErrorStyle.Stop) None
- set_ime_mode(self, arg: pyopenxlsx._openxlsx.XLIMEMode, /) None
- set_operator(self, arg: pyopenxlsx._openxlsx.XLDataValidationOperator, /) None
- set_type(self, arg: pyopenxlsx._openxlsx.XLDataValidationType, /) None
- show_drop_down(self) bool
- show_error_message(self) bool
- show_input_message(self) bool
- sqref(self) str
- type(self) pyopenxlsx._openxlsx.XLDataValidationType
- class pyopenxlsx.XLDataValidationConfig(*args, **kwargs)
Bases:
object- property allow_blank
(self) -> bool
- property error
(self) -> str
- property error_style
(self) -> pyopenxlsx._openxlsx.XLDataValidationErrorStyle
- property error_title
(self) -> str
- property formula1
(self) -> str
- property formula2
(self) -> str
- property ime_mode
(self) -> pyopenxlsx._openxlsx.XLIMEMode
- property operator_
(self) -> pyopenxlsx._openxlsx.XLDataValidationOperator
- property prompt
(self) -> str
- property prompt_title
(self) -> str
- property show_drop_down
(self) -> bool
- property show_error_message
(self) -> bool
- property show_input_message
(self) -> bool
- property type
(self) -> pyopenxlsx._openxlsx.XLDataValidationType
- class pyopenxlsx.XLDataValidationErrorStyle(*values)
Bases:
Enum- Information = 2
- Stop = 0
- Warning = 1
- class pyopenxlsx.XLDataValidationOperator(*values)
Bases:
Enum- Between = 0
- Equal = 1
- GreaterThan = 2
- GreaterThanOrEqual = 3
- LessThan = 4
- LessThanOrEqual = 5
- NotBetween = 6
- NotEqual = 7
- class pyopenxlsx.XLDataValidationType(*values)
Bases:
Enum- Custom = 1
- Date = 2
- Decimal = 3
- List = 4
- None = 0
- TextLength = 5
- Time = 6
- Whole = 7
- class pyopenxlsx.XLDataValidations
Bases:
object- add_validation(self, arg0: pyopenxlsx._openxlsx.XLDataValidationConfig, arg1: str, /) pyopenxlsx._openxlsx.XLDataValidation
- append(self) pyopenxlsx._openxlsx.XLDataValidation
- at(self, arg: int, /) pyopenxlsx._openxlsx.XLDataValidation
- at(self, arg: str, /) pyopenxlsx._openxlsx.XLDataValidation
- count(self) int
- disable_prompts(self) bool
- empty(self) bool
- x_window(self) int
- y_window(self) int
- class pyopenxlsx.XLDateTime(*args, **kwargs)
Bases:
object- as_datetime(self) object
- serial(self) float
- exception pyopenxlsx.XLDateTimeError
Bases:
XLException
- class pyopenxlsx.XLDefinedName(*args, **kwargs)
Bases:
object- comment(self) str
- local_sheet_id(self) object
- name(self) str
- refers_to(self) str
- valid(self) bool
- class pyopenxlsx.XLDefinedNameIterator
Bases:
object
- class pyopenxlsx.XLDefinedNames
Bases:
object- all(self) list[pyopenxlsx._openxlsx.XLDefinedName]
- append(self, name: str, formula: str) pyopenxlsx._openxlsx.XLDefinedName
- append(self, name: str, formula: str, local_sheet_id: int) pyopenxlsx._openxlsx.XLDefinedName
- count(self) int
- exists(self, name: str) bool
- exists(self, name: str, local_sheet_id: int) bool
- get(self, name: str) pyopenxlsx._openxlsx.XLDefinedName
- get(self, name: str, local_sheet_id: int) pyopenxlsx._openxlsx.XLDefinedName
- class pyopenxlsx.XLDocument(*args, **kwargs)
Bases:
object- add_image(self, name: str, data: bytes) str
Add an image to the document archive. Returns the path in the archive.
- app_properties(self) pyopenxlsx._openxlsx.XLAppProperties
- compression_level(self) int
- content_types(self) pyopenxlsx._openxlsx.XLContentTypes
- core_properties(self) pyopenxlsx._openxlsx.XLProperties
- create_chart(self, type: pyopenxlsx._openxlsx.XLChartType = XLChartType.Bar) pyopenxlsx._openxlsx.XLChart
Create a chart part (not yet anchored on a worksheet).
- create_drawing(self) pyopenxlsx._openxlsx.XLDrawing
- create_pivot_table(self) pyopenxlsx._openxlsx.XLPivotTable
Create a pivot table package part.
- custom_property(self, name: str) str
Get a custom document property by name
- default_author(self) str
- delete_property(self, arg: pyopenxlsx._openxlsx.XLProperty, /) None
- drawing(self, path: str) pyopenxlsx._openxlsx.XLDrawing
- get_archive_entries(self) list[str]
Get a list of all entries (files/directories) in the underlying zip archive.
- get_archive_entry(self, path: str) bytes
Get the raw bytes of an entry from the underlying zip archive.
- get_embedded_images(self) list[pyopenxlsx._openxlsx.ImageInfo]
Get list of embedded images in the document. Returns list of dicts with ‘name’, ‘path’, ‘extension’ keys.
- get_image(self, path: str) bytes
Get image data as bytes from the document archive.
- get_image_data(self, image_path: str) bytes
Get image data as bytes. image_path can be full path (e.g., ‘xl/media/image1.png’) or just filename (e.g., ‘image1.png’).
- get_string(self, index: int) str
- get_string_index(self, str: str) int
- has_archive_entry(self, path: str) bool
Check if the underlying zip archive contains an entry with the given path.
- has_macro(self) bool
- has_persons(self) bool
- has_sheet_comments(self, sheet_xml_no: int) bool
- has_sheet_drawing(self, sheet_xml_no: int) bool
- has_sheet_relationships(self, sheet_xml_no: int, is_chartsheet: bool = False) bool
- has_sheet_tables(self, sheet_xml_no: int) bool
- has_sheet_threaded_comments(self, sheet_xml_no: int) bool
- has_sheet_vml_drawing(self, sheet_xml_no: int) bool
- is_open(self) bool
- name(self) str
- next_table_id(self) int
- path(self) str
- persons(self) pyopenxlsx._openxlsx.XLPersons
- property(self, arg: pyopenxlsx._openxlsx.XLProperty, /) str
- save_as(self, arg0: str, arg1: bool, /) None
- save_as(self, arg0: str, arg1: bool, arg2: str, /) None
- set_property(self, arg0: pyopenxlsx._openxlsx.XLProperty, arg1: str, /) None
- sheet_comments(self, sheet_xml_no: int) pyopenxlsx._openxlsx.XLComments
- sheet_drawing(self, sheet_xml_no: int) pyopenxlsx._openxlsx.XLDrawing
- sheet_relationships(self, sheet_xml_no: int, is_chartsheet: bool = False) pyopenxlsx._openxlsx.XLRelationships
- sheet_tables(self, sheet_xml_no: int) pyopenxlsx._openxlsx.XLTables
- sheet_threaded_comments(self, sheet_xml_no: int) pyopenxlsx._openxlsx.XLThreadedComments
- sheet_vml_drawing(self, sheet_xml_no: int) pyopenxlsx._openxlsx.XLVmlDrawing
- string_count(self) int
- string_exists(self, str: str) bool
- styles(self) pyopenxlsx._openxlsx.XLStyles
- validate_package_invariants(self) None
Validate package-level OOXML invariants (also run automatically on save).
- validate_sheet_name(self, sheet_name: str, throw_on_invalid: bool = False) bool
- workbook(self) pyopenxlsx._openxlsx.XLWorkbook
- class pyopenxlsx.XLDrawing
Bases:
object- add_image(self, r_id: str, name: str, description: str, row: int, col: int, width: int, height: int, options: pyopenxlsx._openxlsx.XLImageOptions = <pyopenxlsx._openxlsx.XLImageOptions object at 0x7f4a5d739fb0>) None
- add_scaled_image(self, r_id: str, name: str, description: str, data: str, row: int, col: int, scaling_factor: float = 1.0) None
- add_shape(self, row: int, col: int, options: pyopenxlsx._openxlsx.XLVectorShapeOptions = <pyopenxlsx._openxlsx.XLVectorShapeOptions object at 0x7f4a5d994570>) None
- image(self, index: int) pyopenxlsx._openxlsx.XLDrawingItem
- image_count(self) int
- class pyopenxlsx.XLDrawingItem
Bases:
object- col(self) int
- description(self) str
- height(self) int
- image_binary(self) bytes
- name(self) str
- relationship_id(self) str
- row(self) int
- width(self) int
- class pyopenxlsx.XLDxf(*args, **kwargs)
Bases:
object- alignment(self) pyopenxlsx._openxlsx.XLAlignment
- border(self) pyopenxlsx._openxlsx.XLBorder
- empty(self) bool
- fill(self) pyopenxlsx._openxlsx.XLFill
- font(self) pyopenxlsx._openxlsx.XLFont
- has_font(self) bool
- num_fmt(self) pyopenxlsx._openxlsx.XLNumberFormat
- summary(self) str
- class pyopenxlsx.XLErrorBarValueType(*values)
Bases:
Enum- Custom = 0
- FixedValue = 1
- Percentage = 2
- StandardDeviation = 3
- StandardError = 4
- class pyopenxlsx.XLEvalSession(*args, **kwargs)
Bases:
object- property current_col
(self) -> int
- property current_row
(self) -> int
- property current_sheet
(self) -> str
- property has_current_cell
(self) -> bool
- set_current_cell(self, row: int, col: int) pyopenxlsx._openxlsx.XLEvalSession
- set_current_sheet(self, sheet_name: str) pyopenxlsx._openxlsx.XLEvalSession
- set_name_resolver(self, callback: object) pyopenxlsx._openxlsx.XLEvalSession
- exception pyopenxlsx.XLException
Bases:
RuntimeError
- class pyopenxlsx.XLFill(*args, **kwargs)
Bases:
object- background_color(self) pyopenxlsx._openxlsx.XLColor
- color(self) pyopenxlsx._openxlsx.XLColor
- fill_type(self) pyopenxlsx._openxlsx.XLFillType
- pattern_type(self) pyopenxlsx._openxlsx.XLPatternType
- set_background_color(self, arg: pyopenxlsx._openxlsx.XLColor, /) pyopenxlsx._openxlsx.XLFill
- set_color(self, arg: pyopenxlsx._openxlsx.XLColor, /) pyopenxlsx._openxlsx.XLFill
- set_fill_type(self, newFillType: pyopenxlsx._openxlsx.XLFillType, force: bool = False) bool
- set_pattern_type(self, arg: pyopenxlsx._openxlsx.XLPatternType, /) pyopenxlsx._openxlsx.XLFill
- class pyopenxlsx.XLFills
Bases:
object- count(self) int
- create(self, copyFrom: pyopenxlsx._openxlsx.XLFill = <pyopenxlsx._openxlsx.XLFill object at 0x7f4a5d6c8dd0>, styleEntriesPrefix: str = '\n\t\t') int
- fill_by_index(self, arg: int, /) pyopenxlsx._openxlsx.XLFill
- class pyopenxlsx.XLFilterColumn
Bases:
object- col_id(self) int
- set_custom_filter(self, arg0: str, arg1: str, /) None
- set_custom_filter(self, arg0: str, arg1: str, arg2: pyopenxlsx._openxlsx.XLFilterLogic, arg3: str, arg4: str, /) None
- class pyopenxlsx.XLFont(*args, **kwargs)
Bases:
object- bold(self) bool
- color(self) pyopenxlsx._openxlsx.XLColor
- italic(self) bool
- name(self) str
- scheme(self) pyopenxlsx._openxlsx.XLFontSchemeStyle
- set_bold(self, set: bool = True) pyopenxlsx._openxlsx.XLFont
- set_color(self, arg: pyopenxlsx._openxlsx.XLColor, /) pyopenxlsx._openxlsx.XLFont
- set_italic(self, set: bool = True) pyopenxlsx._openxlsx.XLFont
- set_name(self, arg: str, /) pyopenxlsx._openxlsx.XLFont
- set_scheme(self, arg: pyopenxlsx._openxlsx.XLFontSchemeStyle, /) pyopenxlsx._openxlsx.XLFont
- set_size(self, arg: int, /) pyopenxlsx._openxlsx.XLFont
- set_strikethrough(self, set: bool = True) pyopenxlsx._openxlsx.XLFont
- set_underline(self, style: pyopenxlsx._openxlsx.XLUnderlineStyle = XLUnderlineStyle.Single) pyopenxlsx._openxlsx.XLFont
- set_vert_align(self, arg: pyopenxlsx._openxlsx.XLVerticalAlignRunStyle, /) pyopenxlsx._openxlsx.XLFont
- size(self) int
- strikethrough(self) bool
- underline(self) pyopenxlsx._openxlsx.XLUnderlineStyle
- vert_align(self) pyopenxlsx._openxlsx.XLVerticalAlignRunStyle
- class pyopenxlsx.XLFonts
Bases:
object- count(self) int
- create(self, copyFrom: pyopenxlsx._openxlsx.XLFont = <pyopenxlsx._openxlsx.XLFont object at 0x7f4a5d6c9650>, styleEntriesPrefix: str = '\n\t\t') int
- font_by_index(self, arg: int, /) pyopenxlsx._openxlsx.XLFont
- class pyopenxlsx.XLFormula(*args, **kwargs)
Bases:
object- clear(self) pyopenxlsx._openxlsx.XLFormula
- get(self) str
- class pyopenxlsx.XLFormulaDiagnostic
Bases:
object- property message
(self) -> str
- property offset
(self) -> int
- class pyopenxlsx.XLFormulaDiagnosticReporter(*args, **kwargs)
Bases:
object- diagnostics(self) list[pyopenxlsx._openxlsx.XLFormulaDiagnostic]
- get_full_report(self) str
- has_errors(self) bool
- class pyopenxlsx.XLFormulaEngine(*args, **kwargs)
Bases:
object- evaluate(self, formula: str, wks: pyopenxlsx._openxlsx.XLWorksheet | None = None, session: pyopenxlsx._openxlsx.XLEvalSession | None = None, reporter: pyopenxlsx._openxlsx.XLFormulaDiagnosticReporter | None = None) object
Evaluate a formula. Optionally provide a worksheet, XLEvalSession, and/or diagnostic reporter.
- exception pyopenxlsx.XLFormulaError
Bases:
XLException
Bases:
object
- class pyopenxlsx.XLIMEMode(*values)
Bases:
Enum- Disabled = 3
- FullAlpha = 7
- FullHangul = 9
- FullKatakana = 5
- HalfAlpha = 8
- HalfHangul = 10
- HalfKatakana = 6
- Hiragana = 4
- NoControl = 0
- Off = 1
- On = 2
- class pyopenxlsx.XLImageOptions(*args, **kwargs)
Bases:
object- property bottom_right_cell
(self) -> str
- property locked
(self) -> bool
- property offset_x
(self) -> int
- property offset_y
(self) -> int
- property positioning
(self) -> pyopenxlsx._openxlsx.XLImagePositioning
- property print_with_sheet
(self) -> bool
- property scale_x
(self) -> float
- property scale_y
(self) -> float
- exception pyopenxlsx.XLInputError
Bases:
XLException
- exception pyopenxlsx.XLInternalError
Bases:
XLException
- class pyopenxlsx.XLLegendPosition(*values)
Bases:
Enum- Bottom = 0
- Hidden = 5
- Left = 1
- Right = 2
- Top = 3
- TopRight = 4
- class pyopenxlsx.XLLine(*args, **kwargs)
Bases:
object- color(self) pyopenxlsx._openxlsx.XLDataBarColor
Get the line color as an XLDataBarColor object (supports in-place mutation).
- style(self) pyopenxlsx._openxlsx.XLLineStyle
Get the line style as an XLLineStyle enum.
- summary(self) str
- class pyopenxlsx.XLLineDashType(*values)
Bases:
Enum- Dash = 3
- DashDot = 5
- Dot = 2
- LgDash = 4
- LgDashDot = 6
- LgDashDotDot = 7
- Solid = 1
- SysDash = 8
- SysDashDot = 10
- SysDot = 9
- Unset = 0
- class pyopenxlsx.XLLineStyle(*values)
Bases:
Enum- DashDot = 9
- DashDotDot = 11
- Dashed = 3
- Dotted = 4
- Double = 6
- Hair = 7
- Medium = 2
- MediumDashDot = 10
- MediumDashDotDot = 12
- MediumDashed = 8
- None = 0
- SlantDashDot = 13
- Thick = 5
- Thin = 1
- class pyopenxlsx.XLMarkerStyle(*values)
Bases:
Enum- Circle = 1
- Dash = 2
- Default = 11
- Diamond = 3
- Dot = 4
- None = 0
- Picture = 5
- Plus = 6
- Square = 7
- Star = 8
- Triangle = 9
- X = 10
- class pyopenxlsx.XLMergeCells
Bases:
object- append_merge(self, arg: str, /) int
- count(self) int
- find_merge(self, arg: str, /) int
- merge_exists(self, arg: str, /) bool
- class pyopenxlsx.XLNumberFormat(*args, **kwargs)
Bases:
object- format_code(self) str
- number_format_id(self) int
- set_format_code(self, arg: str, /) bool
- set_number_format_id(self, arg: int, /) bool
- class pyopenxlsx.XLNumberFormats
Bases:
object- count(self) int
- create(self, copyFrom: pyopenxlsx._openxlsx.XLNumberFormat = <pyopenxlsx._openxlsx.XLNumberFormat object at 0x7f4a5d6ca0d0>, styleEntriesPrefix: str = '\n\t\t') int
- number_format_by_id(self, arg: int, /) pyopenxlsx._openxlsx.XLNumberFormat
- number_format_by_index(self, arg: int, /) pyopenxlsx._openxlsx.XLNumberFormat
- class pyopenxlsx.XLNumberFormatter(*args, **kwargs)
Bases:
object- format(self, value: object) str
Formats the given Python value according to the format string
- exception pyopenxlsx.XLOverflowError
Bases:
XLException
- class pyopenxlsx.XLPageMargins(*args, **kwargs)
Bases:
object- bottom(self) float
- header(self) float
- left(self) float
- right(self) float
- set_bottom(self, arg: float, /) pyopenxlsx._openxlsx.XLPageMargins
- set_header(self, arg: float, /) pyopenxlsx._openxlsx.XLPageMargins
- set_left(self, arg: float, /) pyopenxlsx._openxlsx.XLPageMargins
- set_right(self, arg: float, /) pyopenxlsx._openxlsx.XLPageMargins
- set_top(self, arg: float, /) pyopenxlsx._openxlsx.XLPageMargins
- top(self) float
- class pyopenxlsx.XLPageSetup(*args, **kwargs)
Bases:
object- black_and_white(self) bool
- first_page_number(self) int
- fit_to_height(self) int
- fit_to_width(self) int
- orientation(self) pyopenxlsx._openxlsx.XLPageOrientation
- page_order(self) str
- paper_size(self) int
- scale(self) int
- set_black_and_white(self, arg: bool, /) pyopenxlsx._openxlsx.XLPageSetup
- set_first_page_number(self, arg: int, /) pyopenxlsx._openxlsx.XLPageSetup
- set_fit_to_height(self, arg: int, /) pyopenxlsx._openxlsx.XLPageSetup
- set_fit_to_width(self, arg: int, /) pyopenxlsx._openxlsx.XLPageSetup
- set_orientation(self, arg: pyopenxlsx._openxlsx.XLPageOrientation, /) pyopenxlsx._openxlsx.XLPageSetup
- set_page_order(self, arg: str, /) pyopenxlsx._openxlsx.XLPageSetup
- set_paper_size(self, arg: int, /) pyopenxlsx._openxlsx.XLPageSetup
- set_scale(self, arg: int, /) pyopenxlsx._openxlsx.XLPageSetup
- set_use_first_page_number(self, arg: bool, /) pyopenxlsx._openxlsx.XLPageSetup
- use_first_page_number(self) bool
- class pyopenxlsx.XLPane(*values)
Bases:
Enum- BottomLeft = 2
- BottomRight = 0
- TopLeft = 3
- TopRight = 1
- class pyopenxlsx.XLPatternType(*values)
Bases:
Enum- DarkDown = 7
- DarkGray = 3
- DarkGrid = 9
- DarkHorizontal = 5
- DarkTrellis = 10
- DarkUp = 8
- DarkVertical = 6
- Gray0625 = 18
- Gray125 = 17
- LightDown = 13
- LightGray = 4
- LightGrid = 15
- LightHorizontal = 11
- LightTrellis = 16
- LightUp = 14
- LightVertical = 12
- MediumGray = 2
- None = 0
- Solid = 1
- class pyopenxlsx.XLPerson(*args, **kwargs)
Bases:
object- property display_name
(self) -> str
- property id
(self) -> str
- property valid
(self) -> bool
- class pyopenxlsx.XLPersons(*args, **kwargs)
Bases:
object- add_person(self, display_name: str) str
- person(self, id: str) pyopenxlsx._openxlsx.XLPerson
- class pyopenxlsx.XLPivotField
Bases:
object- property custom_name
(self) -> str
- property name
(self) -> str
- property num_fmt_id
(self) -> int
- property subtotal
(self) -> OpenXLSX::XLPivotSubtotal
- class pyopenxlsx.XLPivotSubtotal(*values)
Bases:
Enum- Average = 1
- Count = 2
- Max = 3
- Min = 4
- Product = 5
- Sum = 0
- class pyopenxlsx.XLPivotTable
Bases:
object- name(self) str
- source_range(self) str
- target_cell(self) str
- class pyopenxlsx.XLPivotTableOptions(*args, **kwargs)
Bases:
object- add_column_field(self, field_name: str, selected_items: collections.abc.Sequence[str] = []) pyopenxlsx._openxlsx.XLPivotTableOptions
- add_data_field(self, field_name: str, custom_name: str = '', subtotal: pyopenxlsx._openxlsx.XLPivotSubtotal = XLPivotSubtotal.Sum, num_fmt_id: int = 0) pyopenxlsx._openxlsx.XLPivotTableOptions
- add_filter_field(self, field_name: str, selected_items: collections.abc.Sequence[str] = []) pyopenxlsx._openxlsx.XLPivotTableOptions
- add_row_field(self, field_name: str, selected_items: collections.abc.Sequence[str] = []) pyopenxlsx._openxlsx.XLPivotTableOptions
- property columns
(self) -> list[pyopenxlsx._openxlsx.XLPivotField]
- property data
(self) -> list[pyopenxlsx._openxlsx.XLPivotField]
- property filters
(self) -> list[pyopenxlsx._openxlsx.XLPivotField]
- property name
(self) -> str
- property pivot_table_style_name
(self) -> str
- property rows
(self) -> list[pyopenxlsx._openxlsx.XLPivotField]
- set_col_grand_totals(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_compact_data(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_data_on_rows(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_merge_item(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_page_over_then_down(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_pivot_table_style(self, arg: str, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_row_grand_totals(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_col_headers(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_col_stripes(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_drill(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_error(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_last_column(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_row_headers(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_show_row_stripes(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- set_use_auto_formatting(self, arg: bool, /) pyopenxlsx._openxlsx.XLPivotTableOptions
- property source_range
(self) -> str
- property target_cell
(self) -> str
- class pyopenxlsx.XLPrintOptions(*args, **kwargs)
Bases:
object- grid_lines(self) bool
- headings(self) bool
- horizontal_centered(self) bool
- vertical_centered(self) bool
- class pyopenxlsx.XLProperty(*values)
Bases:
Enum- AppVersion = 19
- Application = 10
- Category = 9
- Company = 14
- CreationDate = 7
- Creator = 2
- Description = 4
- DocSecurity = 11
- HyperlinkBase = 17
- HyperlinksChanged = 18
- Keywords = 3
- LastModifiedBy = 5
- LastPrinted = 6
- LinksUpToDate = 15
- Manager = 13
- ModificationDate = 8
- ScaleCrop = 12
- Subject = 1
- Title = 0
- exception pyopenxlsx.XLPropertyError
Bases:
XLException
- class pyopenxlsx.XLRelationshipItem(*args, **kwargs)
Bases:
object- empty(self) bool
- id(self) str
- target(self) str
- type(self) pyopenxlsx._openxlsx.XLRelationshipType
- class pyopenxlsx.XLRelationshipType(*values)
Bases:
Enum- CalculationChain = 8
- Chart = 13
- ChartColorStyle = 15
- ChartStyle = 14
- Chartsheet = 5
- Comments = 23
- ControlProperties = 22
- CoreProperties = 0
- CustomProperties = 2
- Dialogsheet = 6
- Drawing = 17
- ExtendedProperties = 1
- ExternalLink = 9
- ExternalLinkPath = 10
- Hyperlink = 25
- Image = 16
- Macrosheet = 7
- Person = 33
- PivotCacheDefinition = 30
- PivotCacheRecords = 31
- PivotTable = 27
- PrinterSettings = 20
- Slicer = 28
- SlicerCache = 29
- Styles = 12
- Table = 24
- Theme = 11
- ThreadedComments = 32
- Unknown = 26
- VBAProject = 21
- VMLDrawing = 18
- Workbook = 3
- Worksheet = 4
- class pyopenxlsx.XLRelationships
Bases:
object- add_relationship(self, type: pyopenxlsx._openxlsx.XLRelationshipType, target: str, is_external: bool = False) pyopenxlsx._openxlsx.XLRelationshipItem
- delete_relationship_item(self, item: pyopenxlsx._openxlsx.XLRelationshipItem) None
- id_exists(self, id: str) bool
- relationship_by_id(self, id: str) pyopenxlsx._openxlsx.XLRelationshipItem
- relationship_by_target(self, target: str, throw_if_not_found: bool = True) pyopenxlsx._openxlsx.XLRelationshipItem
- relationships(self) list[pyopenxlsx._openxlsx.XLRelationshipItem]
- target_exists(self, target: str) bool
- class pyopenxlsx.XLRichText(*args, **kwargs)
Bases:
object- add_run(self, arg: pyopenxlsx._openxlsx.XLRichTextRun, /) pyopenxlsx._openxlsx.XLRichText
- add_run(self, arg: str, /) pyopenxlsx._openxlsx.XLRichTextRun
- empty(self) bool
- get_runs(self) list[pyopenxlsx._openxlsx.XLRichTextRun]
- property plain_text
(self) -> str
- property runs
(self) -> collections.abc.Iterator[pyopenxlsx._openxlsx.XLRichTextRun]
- class pyopenxlsx.XLRichTextRun(*args, **kwargs)
Bases:
object- property bold
(self) -> object
- property font_color
(self) -> object
- property font_name
(self) -> object
- property font_size
(self) -> object
- property italic
(self) -> object
- property strikethrough
(self) -> object
- property text
(self) -> str
- property underline
(self) -> object
- class pyopenxlsx.XLRow(*args, **kwargs)
Bases:
object- cell_count(self) int
- descent(self) float
- empty(self) bool
- find_cell(self, column_number: int) pyopenxlsx._openxlsx.XLCell
- format(self) int
- height(self) float
- is_collapsed(self) bool
- outline_level(self) int
- row_number(self) int
- set_format(self, cell_format_index: int) bool
- values(self) list
Return all cell values in this row as a list.
- class pyopenxlsx.XLShape
Bases:
object- allow_in_cell(self) bool
- client_data(self) pyopenxlsx._openxlsx.XLShapeClientData
- fill_color(self) str
- set_allow_in_cell(self, arg: bool, /) bool
- set_fill_color(self, arg: str, /) bool
- set_stroked(self, arg: bool, /) bool
- set_style(self, arg: str, /) bool
- set_style_obj(self, arg: pyopenxlsx._openxlsx.XLShapeStyle, /) bool
- set_type(self, arg: str, /) bool
- shape_id(self) str
- stroked(self) bool
- style(self) pyopenxlsx._openxlsx.XLShapeStyle
- type(self) str
- class pyopenxlsx.XLShapeClientData
Bases:
object- anchor(self) str
- auto_fill(self) bool
- column(self) int
- move_with_cells(self) bool
- object_type(self) str
- row(self) int
- set_anchor(self, arg: str, /) bool
- set_auto_fill(self, arg: bool, /) bool
- set_column(self, arg: int, /) bool
- set_move_with_cells(self, arg: bool, /) bool
- set_object_type(self, arg: str, /) bool
- set_row(self, arg: int, /) bool
- set_size_with_cells(self, arg: bool, /) bool
- set_text_h_align(self, arg: pyopenxlsx._openxlsx.XLShapeTextHAlign, /) bool
- set_text_v_align(self, arg: pyopenxlsx._openxlsx.XLShapeTextVAlign, /) bool
- size_with_cells(self) bool
- text_h_align(self) pyopenxlsx._openxlsx.XLShapeTextHAlign
- text_v_align(self) pyopenxlsx._openxlsx.XLShapeTextVAlign
- class pyopenxlsx.XLShapeStyle
Bases:
object- height(self) int
- hide(self) bool
- margin_left(self) int
- margin_top(self) int
- mso_wrap_style(self) str
- position(self) str
- raw(self) str
- set_height(self, arg: int, /) bool
- set_margin_left(self, arg: int, /) bool
- set_margin_top(self, arg: int, /) bool
- set_mso_wrap_style(self, arg: str, /) bool
- set_position(self, arg: str, /) bool
- set_raw(self, arg: str, /) bool
- set_v_text_anchor(self, arg: str, /) bool
- set_width(self, arg: int, /) bool
- show(self) bool
- v_text_anchor(self) str
- visible(self) bool
- width(self) int
- class pyopenxlsx.XLShapeTextHAlign(*values)
Bases:
Enum- Center = 3
- Invalid = 255
- Left = 1
- Right = 2
- class pyopenxlsx.XLShapeTextVAlign(*values)
Bases:
Enum- Bottom = 5
- Center = 3
- Invalid = 255
- Top = 4
- class pyopenxlsx.XLSheet
Bases:
object- as_chartsheet(self) pyopenxlsx._openxlsx.XLChartsheet
- as_worksheet(self) pyopenxlsx._openxlsx.XLWorksheet
- color(self) pyopenxlsx._openxlsx.XLColor
- index(self) int
- is_active(self) bool
- is_chartsheet(self) bool
- is_selected(self) bool
- is_worksheet(self) bool
- name(self) str
- set_active(self) bool
- set_color(self, color: pyopenxlsx._openxlsx.XLColor) None
- set_visibility(self, state: pyopenxlsx._openxlsx.XLSheetState) None
- visibility(self) pyopenxlsx._openxlsx.XLSheetState
- exception pyopenxlsx.XLSheetError
Bases:
XLException
- class pyopenxlsx.XLSheetProtectionOptions(*args, **kwargs)
Bases:
object- property auto_filter
(self) -> bool
- property delete_columns
(self) -> bool
- property delete_rows
(self) -> bool
- property format_cells
(self) -> bool
- property format_columns
(self) -> bool
- property format_rows
(self) -> bool
- property insert_columns
(self) -> bool
- property insert_hyperlinks
(self) -> bool
- property insert_rows
(self) -> bool
- property objects
(self) -> bool
- property pivot_tables
(self) -> bool
- property scenarios
(self) -> bool
- property select_locked_cells
(self) -> bool
- property select_unlocked_cells
(self) -> bool
- property sheet
(self) -> bool
- property sort
(self) -> bool
- class pyopenxlsx.XLSheetType(*values)
Bases:
Enum- Chartsheet = 1
- Dialogsheet = 2
- Macrosheet = 3
- Worksheet = 0
- class pyopenxlsx.XLSlicer(*args, **kwargs)
Bases:
object- property cache
(self) -> str
- property caption
(self) -> str
- property cell_ref
(self) -> str
- property column_count
(self) -> int
- property height
(self) -> int
- property is_sort_descending
(self) -> bool
- property items
(self) -> list[str]
- property locked_position
(self) -> bool
- move_to(self, cell_ref: str) pyopenxlsx._openxlsx.XLSlicer
- property name
(self) -> str
- resize(self, width_px: int, height_px: int) pyopenxlsx._openxlsx.XLSlicer
- property selected_items
(self) -> list[str]
- set_caption(self, caption: str) pyopenxlsx._openxlsx.XLSlicer
- set_style(self, style: pyopenxlsx._openxlsx.XLSlicerStyle) pyopenxlsx._openxlsx.XLSlicer
- set_style_raw(self, raw_style_name: str) pyopenxlsx._openxlsx.XLSlicer
- show_all(self) pyopenxlsx._openxlsx.XLSlicer
- property show_caption
(self) -> bool
- show_only(self, items: collections.abc.Sequence[str]) pyopenxlsx._openxlsx.XLSlicer
- property style
(self) -> pyopenxlsx._openxlsx.XLSlicerStyle
- property style_raw
(self) -> str
- property valid
(self) -> bool
- property width
(self) -> int
- class pyopenxlsx.XLSlicerBuilder
Bases:
object- build(self) pyopenxlsx._openxlsx.XLSlicer
- caption(self, c: str) pyopenxlsx._openxlsx.XLSlicerBuilder
- column_count(self, cols: int) pyopenxlsx._openxlsx.XLSlicerBuilder
- locked_position(self, locked: bool = True) pyopenxlsx._openxlsx.XLSlicerBuilder
- name(self, n: str) pyopenxlsx._openxlsx.XLSlicerBuilder
- offset(self, dx: int, dy: int) pyopenxlsx._openxlsx.XLSlicerBuilder
- show_only(self, items: collections.abc.Sequence[str]) pyopenxlsx._openxlsx.XLSlicerBuilder
- size(self, width_px: int, height_px: int) pyopenxlsx._openxlsx.XLSlicerBuilder
- sort_descending(self, desc: bool = True) pyopenxlsx._openxlsx.XLSlicerBuilder
- style_raw(self, raw_name: str) pyopenxlsx._openxlsx.XLSlicerBuilder
- class pyopenxlsx.XLSlicerCollection
Bases:
object- add(self, cell_ref: str, table: pyopenxlsx._openxlsx.XLTable, column_name: str) pyopenxlsx._openxlsx.XLSlicerBuilder
- add_pivot(self, cell_ref: str, pivot_table: pyopenxlsx._openxlsx.XLPivotTable, field_name: str) pyopenxlsx._openxlsx.XLSlicerBuilder
- contains(self, name: str) bool
- property count
(self) -> int
- property empty
(self) -> bool
- find(self, name: str) pyopenxlsx._openxlsx.XLSlicer
- property valid
(self) -> bool
- class pyopenxlsx.XLSlicerOptions(*args, **kwargs)
Bases:
object- property caption
(self) -> str
- property height
(self) -> int
- property name
(self) -> str
- property offset_x
(self) -> int
- property offset_y
(self) -> int
- property width
(self) -> int
- class pyopenxlsx.XLSlicerStyle(*values)
Bases:
Enum- Custom = 255
- Dark1 = 6
- Dark2 = 7
- Dark3 = 8
- Dark4 = 9
- Dark5 = 10
- Dark6 = 11
- Light1 = 0
- Light2 = 1
- Light3 = 2
- Light4 = 3
- Light5 = 4
- Light6 = 5
- Other1 = 12
- Other2 = 13
- class pyopenxlsx.XLSparklineOptions(*args, **kwargs)
Bases:
object- property display_empty_cells_as
(self) -> str
- property display_x_axis
(self) -> bool
- property first
(self) -> bool
- property first_marker_color
(self) -> str
- property high
(self) -> bool
- property high_marker_color
(self) -> str
- property last
(self) -> bool
- property last_marker_color
(self) -> str
- property low
(self) -> bool
- property low_marker_color
(self) -> str
- property markers
(self) -> bool
- property markers_color
(self) -> str
- property negative
(self) -> bool
- property negative_color
(self) -> str
- property series_color
(self) -> str
- property type
(self) -> pyopenxlsx._openxlsx.XLSparklineType
- class pyopenxlsx.XLStreamEmptyRowPolicy(*values)
Bases:
Enum- EmitEmptyRows = 1
- SkipMissingRows = 0
- class pyopenxlsx.XLStreamReadOptions(*args, **kwargs)
Bases:
object- property apply_number_formats
(self) -> bool
- property empty_rows
(self) -> pyopenxlsx._openxlsx.XLStreamEmptyRowPolicy
- class pyopenxlsx.XLStreamReader
Bases:
object- current_row(self) int
- property current_row_index
(self) -> int
- current_row_opts(self) dict
Row attributes for the last returned row.
- has_next(self) bool
- property last_error
(self) -> object
- next_row(self) list
- next_row_detailed(self) list
Next row as list of dicts: value, column, optional formula/style_index.
- next_row_strings(self) list
Next row as display strings (respects apply_number_formats when set).
- property options
(self) -> pyopenxlsx._openxlsx.XLStreamReadOptions
- class pyopenxlsx.XLStreamRowOpts(*args, **kwargs)
Bases:
object- property height
(self) -> object
(self) -> object
- property outline_level
(self) -> object
- property style_index
(self) -> object
- class pyopenxlsx.XLStreamWriter
Bases:
object- append_row(self, values: object, opts: object | None = None) None
Append a row. Items may be values, (value, style), (value, style, formula), or dicts.
- property is_active
(self) -> bool
- is_stream_active(self) bool
- property last_row
(self) -> int
- property max_column
(self) -> int
- class pyopenxlsx.XLStyle(*args, **kwargs)
Bases:
object- class Alignment(*args, **kwargs)
Bases:
object- property horizontal
(self) -> pyopenxlsx._openxlsx.XLAlignmentStyle | None
- property indent
(self) -> int | None
- property text_rotation
(self) -> int | None
- property vertical
(self) -> pyopenxlsx._openxlsx.XLAlignmentStyle | None
- property wrap_text
(self) -> bool | None
- class Border(*args, **kwargs)
Bases:
object- property bottom
(self) -> pyopenxlsx._openxlsx.XLStyle.BorderElement
- property diagonal
(self) -> pyopenxlsx._openxlsx.XLStyle.BorderElement
- property diagonal_down
(self) -> bool | None
- property diagonal_up
(self) -> bool | None
- property left
(self) -> pyopenxlsx._openxlsx.XLStyle.BorderElement
- property right
(self) -> pyopenxlsx._openxlsx.XLStyle.BorderElement
- property top
(self) -> pyopenxlsx._openxlsx.XLStyle.BorderElement
- class BorderElement(*args, **kwargs)
Bases:
object- property color
(self) -> pyopenxlsx._openxlsx.XLColor | None
- property style
(self) -> pyopenxlsx._openxlsx.XLLineStyle | None
- class Fill(*args, **kwargs)
Bases:
object- property bg_color
(self) -> pyopenxlsx._openxlsx.XLColor | None
- property fg_color
(self) -> pyopenxlsx._openxlsx.XLColor | None
- property pattern
(self) -> pyopenxlsx._openxlsx.XLPatternType | None
- class Font(*args, **kwargs)
Bases:
object- property bold
(self) -> bool | None
- property color
(self) -> pyopenxlsx._openxlsx.XLColor | None
- property italic
(self) -> bool | None
- property name
(self) -> str | None
- property size
(self) -> int | None
- property strikethrough
(self) -> bool | None
- property underline
(self) -> bool | None
- property alignment
(self) -> pyopenxlsx._openxlsx.XLStyle.Alignment
- property border
(self) -> pyopenxlsx._openxlsx.XLStyle.Border
- property fill
(self) -> pyopenxlsx._openxlsx.XLStyle.Fill
- property font
(self) -> pyopenxlsx._openxlsx.XLStyle.Font
- property number_format
(self) -> str | None
- class pyopenxlsx.XLStyles
Bases:
object- borders(self) pyopenxlsx._openxlsx.XLBorders
- cell_formats(self) pyopenxlsx._openxlsx.XLCellFormats
- fills(self) pyopenxlsx._openxlsx.XLFills
- fonts(self) pyopenxlsx._openxlsx.XLFonts
- number_formats(self) pyopenxlsx._openxlsx.XLNumberFormats
- class pyopenxlsx.XLTable(*args, **kwargs)
Bases:
object- append_column(self, arg: str, /) pyopenxlsx._openxlsx.XLTableColumn
- column(self, arg: str, /) pyopenxlsx._openxlsx.XLTableColumn
- column(self, arg: int, /) pyopenxlsx._openxlsx.XLTableColumn
- comment(self) str
- display_name(self) str
- name(self) str
- range_reference(self) str
- show_column_stripes(self) bool
- show_first_column(self) bool
- show_header_row(self) bool
- show_last_column(self) bool
- show_row_stripes(self) bool
- show_totals_row(self) bool
- style_name(self) str
- class pyopenxlsx.XLTableColumn
Bases:
object- calculated_column_formula(self) str
- id(self) int
- name(self) str
- set_totals_row_function(self, arg: pyopenxlsx._openxlsx.XLTotalsRowFunction, /) None
- totals_row_formula(self) str
- totals_row_function(self) pyopenxlsx._openxlsx.XLTotalsRowFunction
- totals_row_label(self) str
- class pyopenxlsx.XLTables(*args, **kwargs)
Bases:
object- add(self, name: str, range: str) pyopenxlsx._openxlsx.XLTable
- add_range(self, name: str, range: pyopenxlsx._openxlsx.XLCellRange) pyopenxlsx._openxlsx.XLTable
- count(self) int
- get_table(self, arg: str, /) pyopenxlsx._openxlsx.XLTable
- class pyopenxlsx.XLThreadedComment(*args, **kwargs)
Bases:
object- property id
(self) -> str
- property is_resolved
(self) -> bool
- property parent_id
(self) -> str
- property person_id
(self) -> str
- property ref
(self) -> str
- property text
(self) -> str
- property valid
(self) -> bool
- class pyopenxlsx.XLThreadedComments(*args, **kwargs)
Bases:
object- add_comment(self, ref: str, person_id: str, text: str) pyopenxlsx._openxlsx.XLThreadedComment
- add_reply(self, parent_id: str, person_id: str, text: str) pyopenxlsx._openxlsx.XLThreadedComment
- comment(self, ref: str) pyopenxlsx._openxlsx.XLThreadedComment
- delete_comment(self, ref: str) bool
- replies(self, parent_id: str) list[pyopenxlsx._openxlsx.XLThreadedComment]
- class pyopenxlsx.XLTotalsRowFunction(*values)
Bases:
Enum- Average = 4
- Count = 5
- CountNums = 6
- Custom = 9
- Max = 3
- Min = 2
- None = 0
- StdDev = 7
- Sum = 1
- Var = 8
- class pyopenxlsx.XLTrendlineType(*values)
Bases:
Enum- Exponential = 1
- Linear = 0
- Logarithmic = 2
- MovingAverage = 5
- Polynomial = 3
- Power = 4
- exception pyopenxlsx.XLValueTypeError
Bases:
XLException
- class pyopenxlsx.XLVectorShapeOptions(*args, **kwargs)
Bases:
object- property arrow_end
(self) -> str
- property arrow_start
(self) -> str
- property end_col
(self) -> std::optional<unsigned int>
- property end_offset_x
(self) -> int
- property end_offset_y
(self) -> int
- property end_row
(self) -> std::optional<unsigned int>
- property fill_color
(self) -> str
- property flip_h
(self) -> bool
- property flip_v
(self) -> bool
- property height
(self) -> int
- property horz_align
(self) -> str
- property line_color
(self) -> str
- property line_dash
(self) -> str
- property line_width
(self) -> float
- property macro
(self) -> str
- property name
(self) -> str
- property offset_x
(self) -> int
- property offset_y
(self) -> int
- property rich_text
(self) -> std::optional<OpenXLSX::XLRichText>
- property rotation
(self) -> int
- property text
(self) -> str
- property type
(self) -> pyopenxlsx._openxlsx.XLVectorShapeType
- property vert_align
(self) -> str
- property width
(self) -> int
- class pyopenxlsx.XLVectorShapeType(*values)
Bases:
Enum- Arrow = 5
- Cloud = 15
- Diamond = 6
- Donut = 16
- Ellipse = 1
- FlowChartData = 24
- FlowChartDecision = 22
- FlowChartDocument = 23
- FlowChartProcess = 21
- Heart = 13
- Hexagon = 8
- LightningBolt = 20
- Line = 2
- Moon = 19
- Parallelogram = 7
- Rectangle = 0
- Ribbon = 17
- RightTriangle = 4
- SmileyFace = 14
- Star16 = 11
- Star24 = 12
- Star4 = 9
- Star5 = 10
- Sun = 18
- Triangle = 3
- class pyopenxlsx.XLVerticalAlignRunStyle(*values)
Bases:
Enum- Baseline = 0
- Subscript = 1
- Superscript = 2
- class pyopenxlsx.XLVmlDrawing
Bases:
object- create_shape(self, shape_template: pyopenxlsx._openxlsx.XLShape = <pyopenxlsx._openxlsx.XLShape object at 0x7f4a5daa4240>) pyopenxlsx._openxlsx.XLShape
- delete_shape(self, index: int) bool
- delete_shape_by_ref(self, cell_ref: str) bool
- shape(self, index: int) pyopenxlsx._openxlsx.XLShape
- shape_count(self) int
- class pyopenxlsx.XLWorkbook
Bases:
object- chartsheet(self, sheet_name: str) pyopenxlsx._openxlsx.XLChartsheet
- chartsheet(self, index: int) pyopenxlsx._openxlsx.XLChartsheet
- chartsheet_count(self) int
- chartsheet_exists(self, sheet_name: str) bool
- chartsheet_names(self) list[str]
- defined_names(self) pyopenxlsx._openxlsx.XLDefinedNames
- index_of_sheet(self, sheet_name: str) int
- is_protected(self) bool
- sheet(self, index: int) pyopenxlsx._openxlsx.XLSheet
- sheet(self, sheet_name: str) pyopenxlsx._openxlsx.XLSheet
- sheet_count(self) int
- sheet_exists(self, sheet_name: str) bool
- sheet_names(self) list[str]
- type_of_sheet(self, sheet_name: str) pyopenxlsx._openxlsx.XLSheetType
- type_of_sheet(self, index: int) pyopenxlsx._openxlsx.XLSheetType
- worksheet(self, sheet_name: str) pyopenxlsx._openxlsx.XLWorksheet
- worksheet(self, index: int) pyopenxlsx._openxlsx.XLWorksheet
- worksheet_count(self) int
- worksheet_exists(self, sheet_name: str) bool
- worksheet_names(self) list[str]
- class pyopenxlsx.XLWorksheet
Bases:
object- add_chart(self, type: pyopenxlsx._openxlsx.XLChartType, name: str, row: int, col: int, width: int, height: int) pyopenxlsx._openxlsx.XLChart
- add_chart_anchor(self, type: pyopenxlsx._openxlsx.XLChartType, anchor: pyopenxlsx._openxlsx.XLChartAnchor) pyopenxlsx._openxlsx.XLChart
- add_comment(self, cell_ref: str, text: str, author: str = '') pyopenxlsx._openxlsx.XLThreadedComment
Add a modern threaded comment; returns XLThreadedComment.
- add_conditional_formatting(self, sqref: str, rule: pyopenxlsx._openxlsx.XLCfRule) None
- add_conditional_formatting_dxf(self, sqref: str, rule: pyopenxlsx._openxlsx.XLCfRule, dxf: pyopenxlsx._openxlsx.XLDxf) None
- add_image(self, image_data: bytes, extension: str, row: int = 1, col: int = 1, width: float = 0, height: float = 0) None
- add_pivot_slicer(self, cell_reference: str, pivot_table: pyopenxlsx._openxlsx.XLPivotTable, column_name: str, options: pyopenxlsx._openxlsx.XLSlicerOptions = <pyopenxlsx._openxlsx.XLSlicerOptions object at 0x7f4a5d69df70>) None
- add_pivot_table(self, options: pyopenxlsx._openxlsx.XLPivotTableOptions) pyopenxlsx._openxlsx.XLPivotTable
- add_reply(self, parent_id: str, text: str, author: str = '') pyopenxlsx._openxlsx.XLThreadedComment
- add_shape(self, cell_reference: str, options: pyopenxlsx._openxlsx.XLVectorShapeOptions) None
- add_sparkline(self, location: str, data_range: str, type: pyopenxlsx._openxlsx.XLSparklineType = XLSparklineType.Line) None
- add_sparkline(self, location: str, data_range: str, options: pyopenxlsx._openxlsx.XLSparklineOptions) None
- add_table_slicer(self, cell_reference: str, table: pyopenxlsx._openxlsx.XLTable, column_name: str, options: pyopenxlsx._openxlsx.XLSlicerOptions = <pyopenxlsx._openxlsx.XLSlicerOptions object at 0x7f4a5d69ded0>) None
- add_threaded_comment(self, cell_ref: str, text: str, author: str = '') pyopenxlsx._openxlsx.XLThreadedComment
- add_threaded_reply(self, parent_id: str, text: str, author: str = '') pyopenxlsx._openxlsx.XLThreadedComment
- auto_filter(self) str
- auto_filter_allowed(self) bool
- autofilter_object(self) pyopenxlsx._openxlsx.XLAutoFilter
- cell(self, arg: str, /) pyopenxlsx._openxlsx.XLCell
- cell(self, arg0: int, arg1: int, /) pyopenxlsx._openxlsx.XLCell
- clear_sheet_protection(self) bool
- column(self, arg: int, /) pyopenxlsx._openxlsx.XLColumn
- column(self, arg: str, /) pyopenxlsx._openxlsx.XLColumn
- column_count(self) int
- column_format(self, arg: str, /) int
- comments(self) pyopenxlsx._openxlsx.XLComments
- conditional_formats(self) pyopenxlsx._openxlsx.XLConditionalFormats
- data_validations(self) pyopenxlsx._openxlsx.XLDataValidations
- delete_column(self, col_number: int, count: int = 1) bool
- delete_columns_allowed(self) bool
- delete_pivot_table(self, name: str) bool
- delete_row(self, row_number: int) bool
- delete_row(self, row_number: int, count: int) bool
- delete_rows_allowed(self) bool
- drawing(self) pyopenxlsx._openxlsx.XLDrawing
- find_cell(self, ref: str) OpenXLSX::XLCellAssignable
- find_cell(self, row: int, col: int) OpenXLSX::XLCellAssignable
- format_cells_allowed(self) bool
- format_columns_allowed(self) bool
- format_rows_allowed(self) bool
- get_cell_value(self, row: int, col: int) object
Get a single cell’s value directly without creating a Cell object
- get_hyperlink(self, cellRef: str) str
- get_range_data(self, start_row: int, start_col: int, end_row: int, end_col: int) list
Get a range of cells as list[list[Any]] - optimized bulk read for specific range
- get_range_values(self, start_row: int, start_col: int, end_row: int, end_col: int) numpy.ndarray[dtype=float64, shape=(*, *)]
Read a range of numeric cells into a 2D numpy array of doubles
- get_row_values(self, row: int) list
Get a single row’s values as list[Any]
- get_rows_data(self) list
Get all rows data as list[list[Any]] - optimized for bulk read
- group_columns(self, col_first: int, col_last: int, outline_level: int = 1, collapsed: bool = False) None
- group_rows(self, row_first: int, row_last: int, outline_level: int = 1, collapsed: bool = False) None
- has_auto_filter(self) bool
- has_comments(self) bool
- has_drawing(self) bool
- has_hyperlink(self, cellRef: str) bool
- has_panes(self) bool
- has_relationships(self) bool
- has_tables(self) bool
- has_threaded_comments(self) bool
- has_vml_drawing(self) bool
- images(self) list[pyopenxlsx._openxlsx.XLDrawingItem]
- index(self) int
- insert_column(self, col_number: int, count: int = 1) bool
- insert_columns_allowed(self) bool
- insert_hyperlinks_allowed(self) bool
- insert_image_bytes(self, cell_reference: str, image_data: bytes, options: object | None = None) None
Insert an image from raw bytes at the given cell.
- insert_image_opt(self, cell_reference: str, image_path: str, options: pyopenxlsx._openxlsx.XLImageOptions) None
- insert_row(self, row_number: int, count: int = 1) bool
- insert_rows_allowed(self) bool
- is_active(self) bool
- is_streamed_sheet(self) bool
- last_cell(self) pyopenxlsx._openxlsx.XLCellReference
- merges(self) pyopenxlsx._openxlsx.XLMergeCells
- name(self) str
- objects_protected(self) bool
- page_margins(self) pyopenxlsx._openxlsx.XLPageMargins
- page_setup(self) pyopenxlsx._openxlsx.XLPageSetup
- password_hash(self) str
- password_is_set(self) bool
- peek_cell(self, ref: str) std::optional<OpenXLSX::XLCell>
- peek_cell(self, row: int, col: int) std::optional<OpenXLSX::XLCell>
- pivot_tables(self) list[pyopenxlsx._openxlsx.XLPivotTable]
- pivot_tables_allowed(self) bool
- print_options(self) pyopenxlsx._openxlsx.XLPrintOptions
- protect(self, options: pyopenxlsx._openxlsx.XLSheetProtectionOptions, password: str = '') bool
- range(self, arg: str, /) pyopenxlsx._openxlsx.XLCellRange
- range(self, arg0: str, arg1: str, /) pyopenxlsx._openxlsx.XLCellRange
- range_used(self) pyopenxlsx._openxlsx.XLCellRange
Used range of the worksheet.
- row(self, row_number: int) pyopenxlsx._openxlsx.XLRow
- row_count(self) int
- row_format(self, arg: int, /) int
- rows(self) pyopenxlsx._openxlsx.XLRowRange
- rows(self, row_count: int) pyopenxlsx._openxlsx.XLRowRange
- rows(self, first_row: int, last_row: int) pyopenxlsx._openxlsx.XLRowRange
- scenarios_protected(self) bool
- select_locked_cells_allowed(self) bool
- select_unlocked_cells_allowed(self) bool
- set_active(self) bool
- set_cell_value(self, row: int, col: int, value: object) None
Set a cell’s value directly without creating a Cell object. 10-20x faster than ws.cell(row, col).value = val for bulk operations
- set_cells_batch(self, cells: list) None
Batch set multiple cell values: [(row, col, value), …]. Efficient for non-contiguous cell updates
- set_column_format(self, column: str, cellFormatIndex: int) bool
- set_column_format(self, column: int, cellFormatIndex: int) bool
- set_row_format(self, row: int, cellFormatIndex: int) bool
- set_visibility(self, arg: pyopenxlsx._openxlsx.XLSheetState, /) None
- sheet_protected(self) bool
- sheet_protection_summary(self) str
- sheet_view_mode(self) str
- show_grid_lines(self) bool
- show_row_col_headers(self) bool
- slicers(self) pyopenxlsx._openxlsx.XLSlicerCollection
Slicer collection for this worksheet.
- sort_allowed(self) bool
- split_panes(self, xSplit: float, ySplit: float, topLeftCell: str = '', activePane: pyopenxlsx._openxlsx.XLPane = XLPane.BottomRight) None
- stream_reader(self, options: object | None = None) pyopenxlsx._openxlsx.XLStreamReader
Create a stream reader. Pass XLStreamReadOptions for empty-row / number-format policy.
- stream_writer(self, use_shared_strings: bool = False, max_unique_strings: int = 100000) pyopenxlsx._openxlsx.XLStreamWriter
Start a stream writer. Optionally enable shared-string caching.
- tables(self) pyopenxlsx._openxlsx.XLTables
- threaded_comments(self) pyopenxlsx._openxlsx.XLThreadedComments
- visibility(self) pyopenxlsx._openxlsx.XLSheetState
- vml_drawing(self) pyopenxlsx._openxlsx.XLVmlDrawing
- write_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=float64, order='C', device='cpu']) None
- write_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=int64, order='C', device='cpu']) None
- write_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=bool, order='C', device='cpu']) None
Overloaded function.
write_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=float64, order='C', device='cpu']) -> None
Write a 2D numpy array or buffer to a worksheet range
write_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=int64, order='C', device='cpu']) -> Nonewrite_range_data(self, start_row: int, start_col: int, data: ndarray[dtype=bool, order='C', device='cpu']) -> None
- write_row_data(self, row: int, start_col: int, values: list) None
Write a single row of Python data
- write_rows_data(self, start_row: int, start_col: int, rows: list) None
Write a 2D Python list to a worksheet range. Optimized for any Python data (strings, mixed types). For pure numeric data, use write_range_data with numpy for best performance
- zoom(self) int
- pyopenxlsx.add_chart(worksheet, type_name, name, *, row=5, col=5, width=400, height=300, title=None, series_ref=None, series_name='', cats_ref=None, series=None, legend=None, wrap=True)[source]
Create a chart with optional title, series, and legend.
- Parameters:
wrap (
bool) – When True (default), return aChartwrapper; when False, return the native chart object (legacy behaviour).- Return type:
Any
- pyopenxlsx.calculation_options(*, write_back=None, use_defined_names=None, **extra)[source]
Build
XLCalculationOptionsfrom keyword flags.Unknown keys are applied as
setattron the options object when present.- Return type:
- pyopenxlsx.chart_type(name)[source]
Resolve a chart type from
XLChartTypeor a case-insensitive name.Examples:
"bar","Column","line","pie".- Return type:
- pyopenxlsx.is_date_format(c_format)[source]
Returns True if the given format code or id implies a date/time.
- Return type:
bool
- pyopenxlsx.link_cell(worksheet, cell_ref, target, *, text=None, tooltip='', internal=None)
Add a hyperlink and optionally set the cell display text.
- Parameters:
worksheet (
Any) – High-levelWorksheet.cell_ref (
str) – Anchor cell (e.g."A1").target (
str) – URL or internal location ("Sheet2!A1").text (
Optional[str]) – If given, write this as the cell value.tooltip (
str) – Optional tooltip string.internal (
Optional[bool]) – Force internal vs external. WhenNone, infer from target (URLs → external, otherwise internal).
- Return type:
None
- pyopenxlsx.pivot_subtotal(name)[source]
Resolve a subtotal from enum or friendly name (
sum,count, …).- Return type: