コード例 #1
0
    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
コード例 #2
0
    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)