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)