def importXml(self, xml_text): ''' load cells from text in xml format ''' # get the cells elements from our xml file xml_table = ElementTree.XML(xml_text) # loop on all the cells in xml file for xml_cell in xml_table: # FIXME: we assume that all the cell element are in the right # order # get i, j i, j = int(xml_cell[0].text), int(xml_cell[1].text) # get cell c = SodsCell() c.color = xml_cell[2].text c.font_family = xml_cell[3].text c.font_size = xml_cell[4].text c.background_color = xml_cell[5].text c.border_top = xml_cell[6].text c.border_bottom = xml_cell[7].text c.border_left = xml_cell[8].text c.border_right = xml_cell[9].text if xml_cell[10].text: c.text = unescape(xml_cell[10].text) c.value_type = xml_cell[11].text c.value = [None, xml_cell[12].text][xml_cell[12].text != 'None'] c.formula = [None, unescape(xml_cell[13].text)][xml_cell[13].text != 'None'] c.date_value = [None, xml_cell[14].text][xml_cell[14].text != 'None'] c.condition = [None, unescape(xml_cell[15].text)][xml_cell[15].text != 'None'] c.condition_state = eval(xml_cell[16].text) c.condition_color = xml_cell[17].text c.condition_background_color = xml_cell[18].text text_align = xml_cell[19].text c.column_width = xml_cell[20].text c.format = [None, unescape(xml_cell[21].text)][xml_cell[21].text != 'None'] # insert cell to table self.table.setCellAt(i, j, c)