def addData(self, column, value, type='number') :
		for elem in self.xmlString.iter() :
			if elem.tag == '{' + defaults.WPREFIXES['e'] + '}sheetData' :
				#get row number
				for rowNum in column :
					if rowNum.isdigit() :
						rowAlreadyExists = False
						#check if row already in file
						for item in self.xmlString.iter() :
							if item.tag == '{' + defaults.WPREFIXES['e'] + '}' + 'row' :
								if item.attrib['r'] == rowNum :
									rowAlreadyExists = True
									row = item

						if rowAlreadyExists == False :
							row = Element().createElement('row', attr={'r' : str(rowNum)}, prefix='e', attrprefix=None)
						
						if type not in self.types :
							type = 'number'
						c = Element().createElement('c', attr={'r' : column, 't' : self.types[type]}, prefix='e', attrprefix=None)
						
						if type == 'number' :
							v = Element().createElement('v', prefix=None)
							v.text = value
							c.append(v)
						
						if type == 'text' :
							isEl = Element().createElement('is', prefix='e')
							tEl = Element().createElement('t', prefix='e')
							tEl.text = value
							isEl.append(tEl)
							c.append(isEl)

						if type == 'formule' :
							f = Element().createElement('f', prefix='e')
							f.text = value
							c.append(f)

						row.append(c)
						elem.append(row)
	def addRow(self, val, style='default') :
		row = self._getNewRow()

		for v in val :
			column = self._getNewColumn(style)
			
			textEl = Element().createElement('t')
			textEl.text = v
			para = Element().createElement('p')
			run = Element().createElement('r')
			run.append(textEl)
			para.append(run)
			column.append(para)
			
			row.append(column)

		self._table.append(row)
	def __init__(self, text='', style='NormalWeb', styles=None) :
	
		self._styles = {
			'bold' : False,
			'italic' : False,
			'underline' : False,
			'uppercase' : False,
			'color' : False,
			'font' : False,
			'size' : False
		}

		if styles is not None :
			for key, value in styles.items() :
				self._styles[key] = value

		#root element
		self.para = Element().createElement('p')
		
		#style element
		pPr = Element().createElement('pPr')
		self.para.append(pPr)
		pPr.append(Element().createElement('pStyle', attr={'val' : style}))

		#run and text element
		run = Element().createElement('r')
		self._prop = Element().createElement('rPr')
		run.append(self._prop)

		#set styles
		self.setStyles()
		
		textEl = Element().createElement('t', attr={'space' : 'preserve'})
		textEl.text = text
		run.append(textEl)
		self.para.append(run)