def extract_xml_from_table(table_name, table): """Transform table into XML string Args: table_name: table: Returns: """ if not ExcelUploaderModule.is_table_valid(table_name, table): return "" root = XSDTree.create_element("table") root.set("name", table_name) header = XSDTree.create_sub_element(root, "headers") values = XSDTree.create_sub_element(root, "rows") col_index = 0 for header_name in table["headers"]: header_cell = XSDTree.create_sub_element(header, "column") header_cell.set("id", str(col_index)) header_cell.text = header_name col_index += 1 row_index = 0 for value_list in table["values"]: value_row = XSDTree.create_sub_element(values, "row") value_row.set("id", str(row_index)) col_index = 0 for value in value_list: value_cell = XSDTree.create_sub_element(value_row, "column") value_cell.set("id", str(col_index)) value_cell.text = value col_index += 1 row_index += 1 xml_string = XSDTree.tostring(header) xml_string += XSDTree.tostring(values) return xml_string
def extract_html_from_table(table_name, table): """Transform table into HTML string Args: table_name: table: Returns: """ if not ExcelUploaderModule.is_table_valid(table_name, table): return "Table has not been uploaded or is not of correct format." table_element = XSDTree.create_element("table") table_element.set("class", "table table-striped excel-file") header = XSDTree.create_sub_element(table_element, "thead") header_row = XSDTree.create_sub_element(header, "tr") for header_name in table["headers"]: header_cell = XSDTree.create_sub_element(header_row, "th") header_cell.text = header_name values = XSDTree.create_sub_element(table_element, "tbody") for value_list in table["values"]: value_row = XSDTree.create_sub_element(values, "tr") for value in value_list: value_cell = XSDTree.create_sub_element(value_row, "td") value_cell.text = value div = XSDTree.create_element("div") div.set("class", "excel_table") div.append(table_element) return XSDTree.tostring(div)