Пример #1
0
    def _post_display(self, request):
        form = ExcelUploaderForm(request.POST, request.FILES)
        if not form.is_valid():
            raise ModuleError(
                'Data not properly sent to server. Please set "file" in POST data.'
            )

        try:
            input_excel = request.FILES['file']
            book = open_workbook(file_contents=input_excel.read())
            sheet = book.sheet_by_index(0)

            table = {'headers': [], 'values': []}

            for row_index in range(sheet.nrows):
                row_values = []

                for col_index in range(sheet.ncols):
                    cell_text = str(sheet.cell(row_index, col_index).value)

                    if row_index == 0:
                        table['headers'].append(cell_text)
                    else:
                        row_values.append(cell_text)

                if len(row_values) != 0:
                    table['values'].append(row_values)

            self.table = table
            self.table_name = str(input_excel)

            return self.extract_html_from_table()
        except:
            return 'Something went wrong. Be sure to upload an Excel file, with correct format.'
Пример #2
0
    def _post_display(self, request):
        form = ExcelUploaderForm(request.POST, request.FILES)
        if not form.is_valid():
            raise ModuleError('Data not properly sent to server. Please set "file" in POST data.')

        try:
            input_excel = request.FILES['file']
            book = open_workbook(file_contents=input_excel.read())
            sheet = book.sheet_by_index(0)

            table = {
                'headers': [],
                'values': []
            }

            for row_index in range(sheet.nrows):
                row_values = []

                for col_index in range(sheet.ncols):
                    cell_text = str(sheet.cell(row_index, col_index).value)

                    if row_index == 0:
                        table['headers'].append(cell_text)
                    else:
                        row_values.append(cell_text)

                if len(row_values) != 0:
                    table['values'].append(row_values)

            self.table = table
            self.table_name = str(input_excel)

            return self.extract_html_from_table()
        except:
            return 'Something went wrong. Be sure to upload an Excel file, with correct format.' 
Пример #3
0
    def __init__(self):
        self.table = None
        self.table_name = None

        with open(os.path.join(TEMPLATES_PATH, 'ExcelUploader.html'),
                  'r') as excel_uploader_file:
            excel_uploader = excel_uploader_file.read()
            template = Template(excel_uploader)
            context = Context({'form': ExcelUploaderForm()})
            popup_content = template.render(context)

        PopupModule.__init__(
            self,
            popup_content=popup_content,
            button_label='Upload Excel File',
            scripts=[os.path.join(SCRIPTS_PATH, 'exceluploader.js')],
            styles=[os.path.join(STYLES_PATH, 'exceluploader.css')])