Ejemplo n.º 1
0
	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)