def test_read_row(datadir, DummyWorkbook): datadir.join("reader").chdir() src = b""" <sheetData xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" > <row r="1" spans="4:27"> <c r="D1"> <v>1</v> </c> <c r="K1"> <v>0.01</v> </c> <c r="AA1"> <v>100</v> </c> </row> </sheetData> """ from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "", [], []) xml = fromstring(src) row = tuple(ws._get_row(xml, 11, 11)) values = [c.value for c in row] assert values == [0.01] row = tuple(ws._get_row(xml, 1, 11)) values = [c.value for c in row] assert values == [ None, None, None, 1, None, None, None, None, None, None, 0.01 ]
def test_force_dimension(datadir, DummyWorkbook): datadir.join("reader").chdir() from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "sheet2_no_dimension.xml", [], []) dims = ws.calculate_dimension(True) assert dims == "A1:AA30"
def test_read_row(datadir, DummyWorkbook): datadir.join("reader").chdir() src = b""" <sheetData xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" > <row r="1" spans="4:27"> <c r="D1"> <v>1</v> </c> <c r="K1"> <v>0.01</v> </c> <c r="AA1"> <v>100</v> </c> </row> </sheetData> """ from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "", [], []) xml = fromstring(src) row = tuple(ws._get_row(xml, 11, 11)) values = [c.value for c in row] assert values == [0.01] row = tuple(ws._get_row(xml, 1, 11)) values = [c.value for c in row] assert values == [None, None, None, 1, None, None, None, None, None, None, 0.01]
def test_force_dimension(datadir, DummyWorkbook): datadir.join("reader").chdir() from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "sheet2_no_dimension.xml", [], []) dims = ws.calculate_dimension(True) assert dims == "A1:2730"
def read_worksheet(xml_source, parent, preset_title, shared_strings, style_table, color_index=None, worksheet_path=None, keep_vba=False): """Read an xml worksheet""" if worksheet_path: ws = IterableWorksheet(parent, preset_title, worksheet_path, xml_source, shared_strings, style_table) else: ws = Worksheet(parent, preset_title) fast_parse(ws, xml_source, shared_strings, style_table, color_index) if keep_vba: ws.xml_source = xml_source return ws
def test_read_empty_row(datadir, DummyWorkbook): from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "", [], []) src = """ <row r="2" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" /> """ element = fromstring(src) row = ws._get_row(element, max_col=10) row = tuple(row) assert len(row) == 10
def read_worksheet(xml_source, parent, preset_title, string_table, style_table, color_index=None, worksheet_path=None, keep_vba=False): """Read an xml worksheet""" if worksheet_path: ws = IterableWorksheet(parent, preset_title, worksheet_path, xml_source, string_table, style_table) else: ws = Worksheet(parent, preset_title) fast_parse(ws, xml_source, string_table, style_table, color_index) if keep_vba: ws.xml_source = xml_source return ws
def test_get_max_cell(datadir, DummyWorkbook, filename): datadir.join("reader").chdir() from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", filename, [], []) rows = tuple(ws.rows) assert rows[-1][-1].coordinate == "AA30"
def test_read_empty_rows(datadir, DummyWorkbook): from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", "empty_rows.xml", [], []) rows = tuple(ws.rows) assert len(rows) == 7
def test_read_hyperlinks_read_only(datadir, Workbook): from openpyxl.worksheet.iter_worksheet import IterableWorksheet datadir.join("reader").chdir() filename = 'bug328_hyperlinks.xml' ws = IterableWorksheet(Workbook(data_only=True, read_only=True), "Sheet", "", filename, ['SOMETEXT'], []) assert ws['F2'].value is None
def test_get_max_cell(datadir, filename): datadir.join("reader").chdir() class Workbook: excel_base_date = None def get_sheet_names(self): return [] from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(Workbook(), "Sheet", "", filename, [], []) rows = tuple(ws.rows) assert rows[-1][-1].coordinate == "AA30"
def read_worksheet(xml_source, parent, preset_title, shared_strings, style_table, color_index=None, worksheet_path=None): """Read an xml worksheet""" if worksheet_path: ws = IterableWorksheet(parent, preset_title, worksheet_path, xml_source, shared_strings, style_table) else: ws = Worksheet(parent, preset_title) fast_parse(ws, xml_source, shared_strings, style_table, color_index) return ws
def test_read_with_missing_cells(datadir, DummyWorkbook): datadir.join("reader").chdir() filename = "bug393-worksheet.xml" from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(DummyWorkbook, "Sheet", "", filename, [], []) rows = tuple(ws.rows) row = rows[1] # second row values = [c.value for c in row] assert values == [None, None, 1, 2, 3] row = rows[3] # fourth row values = [c.value for c in row] assert values == [1, 2, None, None, 3]
def test_read_with_missing_cells(datadir): datadir.join("reader").chdir() from openpyxl.styles import Style class Workbook: excel_base_date = None shared_styles = [Style()] def get_sheet_names(self): return [] filename = "bug393-worksheet.xml" from openpyxl.worksheet.iter_worksheet import IterableWorksheet ws = IterableWorksheet(Workbook(), "Sheet", "", filename, [], []) rows = tuple(ws.rows) row = rows[1] # second row values = [c.value for c in row] assert values == [None, None, 1, 2, 3] row = rows[3] # fourth row values = [c.value for c in row] assert values == [1, 2, None, None, 3]