Almost all methods in XlsxWriter support both A1 and (row, col) notation, see the docs. So the following are equivalent for merge_range():
worksheet.merge_range('B4:D4', 'Merged Range', merge_format)
worksheet.merge_range(3, 1, 3, 3, 'Merged Range', merge_format)
Answer from jmcnamara on Stack OverflowXlsxWriter
xlsxwriter.readthedocs.io › example_merge1.html
Example: Merging Cells — XlsxWriter
merge_format = workbook.add_format( { "bold": 1, "border": 1, "align": "center", "valign": "vcenter", "fg_color": "yellow", } ) # Merge 3 cells. worksheet.merge_range("B4:D4", "Merged Range", merge_format) # Merge 3 cells over two rows.
XlsxWriter
xlsxwriter.readthedocs.io › example_merge_rich.html
Example: Merging Cells with a Rich String — XlsxWriter
worksheet.merge_range("B2:E5", "", cell_format) # We then overwrite the first merged cell with a rich string. Note that we # must also pass the cell format used in the merged cells format at the end.
Libxlsxwriter
libxlsxwriter.github.io › merge_range_8c-example.html
libxlsxwriter: merge_range.c
* An example of merging cells using libxlsxwriter. * * Copyright 2014-2026, John McNamara, jmcnamara@cpan.org · * */ #include "xlsxwriter.h" int main() { lxw_workbook *workbook = workbook_new("merge_range.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_format *merge_format = workbook_add_format(workbook); /* Configure a format for the merged range.
XlsxWriter
xlsxwriter.readthedocs.io › working_with_cell_notation.html
Working with Cell Notation - XlsxWriter - Read the Docs
In general when using the XlsxWriter module you can use A1 notation anywhere you can use row-column notation. This also applies to methods that take a range of cells: worksheet.merge_range(2, 1, 3, 3, 'Merged Cells', merge_format) worksheet.merge_range('B3:D4', 'Merged Cells', merge_format) XlsxWriter supports Excel’s worksheet limits of 1,048,576 rows by 16,384 columns.
Readthedocs
xlsxwriterlua.readthedocs.io › example_merge1.html
Example: Merging Cells — xlsxwriter.lua Documentation
worksheet:merge_range("B4:D4", "Merged Range", merge_format) -- Merge 3 cells over two rows.
ZetCode
zetcode.com › python › xlsxwriter
Python xlsxwriter - write Excel xlsx files in Python
The merge_range function merge a range of cells. Its parameters are the row and column of the top-left and bottom-right cells, the data to write, and the optional cell format. ... #!/usr/bin/python import xlsxwriter wb = xlsxwriter.Workbook('merging.xlsx') ws = wb.add_worksheet() mf = ...
GitHub
github.com › jmcnamara › XlsxWriter › issues › 848
Merging over already merged cells results in damaged file format · Issue #848 · jmcnamara/XlsxWriter
January 10, 2022 - workbook = xlsxwriter.Workbook('test.xlsx') worksheet = workbook.add_worksheet() # Add a bold format to use to highlight cells. bold = workbook.add_format({'bold': True}) # # Write some data headers. # worksheet.write('A1', 'Item', bold) # worksheet.write('B1', 'Cost', bold) # worksheet.write_row(1, 0, ['hello','this','is','a','row'], heading) worksheet.merge_range(1, 0, 2, 0, 'Merged Cells') worksheet.merge_range(2, 0, 3, 0, 'Merged Cells') worksheet.merge_range(3, 0, 4, 0, 'Merged Cells') workbook.close()
Author: jmcnamara
Edureka Community
edureka.co › home › community › categories › others › merge rows based on value pandas to excel -...
Merge rows based on value pandas to excel - xlsxwriter | Edureka Community
November 2, 2022 - I'm attempting to use xlsxwriter to output a Pandas dataframe into an excel file. But I'm ... merge_range('A0:A2','[input value]', merge_format)
CSDN
devpress.csdn.net › python › 62fe41877e66823466193257.html
Merge rows based on value (pandas to excel - xlsxwriter)_python_Mangs-Python
#This is the logic you use to merge cells in xlsxwriter (just an example) worksheet.merge_range('A3:A4','value you want in merged cells', merge_format) #Merge Car type Loop thought process...
TutorialsPoint
tutorialspoint.com › python_xlsxwriter › python_xlsxwriter_quick_guide.htm
Python XlsxWriter - Quick Guide
XlsxWriter provides full formatting features such as Merged cells, Defined names, conditional formatting, etc.
GitHub
github.com › jmcnamara › XlsxWriter › issues › 711
Feature request: Add helpful info to merge cell warning (code included) · Issue #711 · jmcnamara/XlsxWriter
April 30, 2020 - import os import xlsxwriter from tempfile import gettempdir path = os.path.join(gettempdir(), 'test.xlsx') workbook = xlsxwriter.Workbook(path) worksheet = workbook.add_worksheet() row = 5 col = 10 worksheet.merge_range(row, col, row, col, 'Test') worksheet.write(row+1, col, 'Test 2') workbook.close()
Author: jmcnamara
RubyDoc
rubydoc.info › gems › xlsxwriter › 0.0.3 › XlsxWriter › Worksheet:merge_range
RubyDoc.info: Method: XlsxWriter::Worksheet#merge_range – Documentation for xlsxwriter (0.0.3) – RubyDoc.info
ext/xlsxwriter/worksheet.c · Merges range, setting string value with format. ws.merge_range('A1:D5') ws.merge_range('A1', 'D5', 'Merged cells') ws.merge_range(0, 0, 4, 3) Overloads: #merge_range(range, value = "", format = nil) ⇒ self · Returns: (self) #merge_range(cell_from, cell_to, value = "", format = nil) ⇒ self ·
Libxlsxwriter
libxlsxwriter.github.io › merge1_8c-example.html
libxlsxwriter: merge1.c
* An example of merging cells using libxlsxwriter. * * Copyright 2014-2015, John McNamara, jmcnamara@cpan.org · * */ #include "xlsxwriter.h" int main() { lxw_workbook *workbook = new_workbook("merge1.xlsx"); lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL); lxw_format *merge_format = workbook_add_format(workbook); /* Configure a format for the merged range.
XlsxWriter
xlsxwriter.readthedocs.io › worksheet.html
The Worksheet Class — XlsxWriter
Excel generally merges and centers cells at same time. To get similar behavior with XlsxWriter you need to apply a Format:
GitHub
github.com › jmcnamara › XlsxWriter › issues › 367
Merge cell doesn't contain text · Issue #367 · jmcnamara/XlsxWriter
August 27, 2016 - import xlsxwriter workbook = xlsxwriter.Workbook('test.xlsx', {'constant_memory': True}) worksheet = workbook.add_worksheet() HEADERS = [('A1:A3', 'SKU Number'),('B1:B3', 'UPC')] merge_format = workbook.add_format({'align': 'center', 'valign': 'vcenter', 'bold': 1}) for range, data in HEADERS: worksheet.merge_range(range, data, merge_format) workbook.close() It seems like it disappear when it create blank cells in worksheet.py as below
Author: jmcnamara
GitHub
github.com › jmcnamara › XlsxWriter › issues › 351
Repetitive merge_range to same range causes warning in Excel 2016 · Issue #351 · jmcnamara/XlsxWriter
May 3, 2016 - import xlsxwriter workbook = xlsxwriter.Workbook('range.xlsx') worksheet = workbook.add_worksheet() merge_format = workbook.add_format({ 'bold': True, 'align': 'center' }) headings = ( ("Alpha", "L1:W1"), ("Bravo", "X1:AI1"), ("Charlie", "AJ1:AU1"), ("Delta", "AV1:BG1")) for (product, coordinates) in headings: worksheet.merge_range("L1:W1", product, merge_format)
Author: jmcnamara
Rdrr.io
rdrr.io › cran › openxlsx › man › mergeCells.html
mergeCells: Merge cells within a worksheet in openxlsx: Read, Write and Edit xlsx Files
November 5, 2025 - ## Create a new workbook wb <- createWorkbook() ## Add a worksheet addWorksheet(wb, "Sheet 1") addWorksheet(wb, "Sheet 2") ## Merge cells: Row 2 column C to F (3:6) mergeCells(wb, "Sheet 1", cols = 2, rows = 3:6) ## Merge cells:Rows 10 to 20 columns A to J (1:10) mergeCells(wb, 1, cols = 1:10, rows = 10:20) ## Intersecting merges mergeCells(wb, 2, cols = 1:10, rows = 1) mergeCells(wb, 2, cols = 5:10, rows = 2) mergeCells(wb, 2, cols = c(1, 10), rows = 12) ## equivalent to 1:10 as only min/max are used # mergeCells(wb, 2, cols = 1, rows = c(1,10)) # Throws error because intersects existing merge ## remove merged cells removeCellMerge(wb, 2, cols = 1, rows = 1) # removes any intersecting merges mergeCells(wb, 2, cols = 1, rows = 1:10) # Now this works ## Save workbook ## Not run: saveWorkbook(wb, "mergeCellsExample.xlsx", overwrite = TRUE) ## End(Not run)