Skip to main content
Glama
rich_value.py2.44 kB
############################################################################### # # RichValue - A class for writing the Excel XLSX rdrichvalue.xml file. # # SPDX-License-Identifier: BSD-2-Clause # # Copyright (c) 2013-2025, John McNamara, jmcnamara@cpan.org # from xlsxwriter.image import Image from . import xmlwriter class RichValue(xmlwriter.XMLwriter): """ A class for writing the Excel XLSX rdrichvalue.xml file. """ ########################################################################### # # Public API. # ########################################################################### def __init__(self): """ Constructor. """ super().__init__() self.embedded_images = [] ########################################################################### # # Private API. # ########################################################################### def _assemble_xml_file(self): # Assemble and write the XML file. # Write the XML declaration. self._xml_declaration() # Write the rvData element. self._write_rv_data() self._xml_end_tag("rvData") # Close the file. self._xml_close() ########################################################################### # # XML methods. # ########################################################################### def _write_rv_data(self): # Write the <rvData> element. xmlns = "http://schemas.microsoft.com/office/spreadsheetml/2017/richdata" attributes = [ ("xmlns", xmlns), ("count", len(self.embedded_images)), ] self._xml_start_tag("rvData", attributes) for index, image in enumerate(self.embedded_images): # Write the rv element. self._write_rv(index, image) def _write_rv(self, index, image: Image): # Write the <rv> element. attributes = [("s", 0)] value = 5 if image.decorative: value = 6 self._xml_start_tag("rv", attributes) # Write the v elements. self._write_v(index) self._write_v(value) if image.description: self._write_v(image.description) self._xml_end_tag("rv") def _write_v(self, data): # Write the <v> element. self._xml_data_element("v", data)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lillard01/chatExcel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server