Esempio n. 1
0
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
    ]
Esempio n. 2
0
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"
Esempio n. 3
0
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]
Esempio n. 4
0
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"
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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
Esempio n. 9
0
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"
Esempio n. 10
0
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
Esempio n. 11
0
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
Esempio n. 12
0
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"
Esempio n. 13
0
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
Esempio n. 14
0
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]
Esempio n. 15
0
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]