mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
Merge branch 'master' of github.com:tfussell/xlnt
This commit is contained in:
commit
8c7a7f7a6f
|
@ -5,5 +5,6 @@ It was initially inspired by the openpyxl library: https://openpyxl.readthedocs.
|
||||||
Thanks to everyone who has contributed to this project (in alphabetical order):
|
Thanks to everyone who has contributed to this project (in alphabetical order):
|
||||||
|
|
||||||
* Malvineous
|
* Malvineous
|
||||||
|
* xpol
|
||||||
|
|
||||||
Project logo designed by Thomas Fussell.
|
Project logo designed by Thomas Fussell.
|
|
@ -76,6 +76,17 @@ public:
|
||||||
TS_ASSERT_EQUALS(new_sheet, found_sheet);
|
TS_ASSERT_EQUALS(new_sheet, found_sheet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_get_sheet_by_name_const()
|
||||||
|
{
|
||||||
|
xlnt::workbook wb;
|
||||||
|
auto new_sheet = wb.create_sheet();
|
||||||
|
std::string title = "my sheet";
|
||||||
|
new_sheet.set_title(title);
|
||||||
|
const xlnt::workbook& wbconst = wb;
|
||||||
|
auto found_sheet = wbconst.get_sheet_by_name(title);
|
||||||
|
TS_ASSERT_EQUALS(new_sheet, found_sheet);
|
||||||
|
}
|
||||||
|
|
||||||
void test_index_operator() // test_getitem
|
void test_index_operator() // test_getitem
|
||||||
{
|
{
|
||||||
xlnt::workbook wb;
|
xlnt::workbook wb;
|
||||||
|
|
|
@ -98,7 +98,7 @@ workbook::workbook(encoding e) : workbook()
|
||||||
d_->encoding_ = e;
|
d_->encoding_ = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
worksheet workbook::get_sheet_by_name(const std::string &name)
|
const worksheet workbook::get_sheet_by_name(const std::string &name) const
|
||||||
{
|
{
|
||||||
for (auto &impl : d_->worksheets_)
|
for (auto &impl : d_->worksheets_)
|
||||||
{
|
{
|
||||||
|
@ -111,6 +111,11 @@ worksheet workbook::get_sheet_by_name(const std::string &name)
|
||||||
return worksheet();
|
return worksheet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
worksheet workbook::get_sheet_by_name(const std::string &name)
|
||||||
|
{
|
||||||
|
return worksheet(static_cast<const workbook*>(this)->get_sheet_by_name(name));
|
||||||
|
}
|
||||||
|
|
||||||
worksheet workbook::get_sheet_by_index(std::size_t index)
|
worksheet workbook::get_sheet_by_index(std::size_t index)
|
||||||
{
|
{
|
||||||
return worksheet(&d_->worksheets_[index]);
|
return worksheet(&d_->worksheets_[index]);
|
||||||
|
|
|
@ -153,6 +153,36 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_iter_rows_offset_int_int()
|
||||||
|
{
|
||||||
|
xlnt::workbook wb;
|
||||||
|
xlnt::worksheet ws(wb);
|
||||||
|
auto rows = ws.rows(1, 3);
|
||||||
|
|
||||||
|
const std::vector<std::vector<std::string>> expected =
|
||||||
|
{
|
||||||
|
{ "D2", "E2", "F2" },
|
||||||
|
{ "D3", "E3", "F3" },
|
||||||
|
{ "D4", "E4", "F4" },
|
||||||
|
{ "D5", "E5", "F5" }
|
||||||
|
};
|
||||||
|
|
||||||
|
auto expected_row_iter = expected.begin();
|
||||||
|
|
||||||
|
for (auto row : rows)
|
||||||
|
{
|
||||||
|
auto expected_cell_iter = (*expected_row_iter).begin();
|
||||||
|
|
||||||
|
for (auto cell : row)
|
||||||
|
{
|
||||||
|
TS_ASSERT_EQUALS(cell.get_reference(), *expected_cell_iter);
|
||||||
|
expected_cell_iter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
expected_row_iter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void test_get_named_range()
|
void test_get_named_range()
|
||||||
{
|
{
|
||||||
xlnt::workbook wb;
|
xlnt::workbook wb;
|
||||||
|
|
|
@ -627,6 +627,12 @@ xlnt::range worksheet::rows(const std::string &range_string, int row_offset, int
|
||||||
return get_range(reference.make_offset(column_offset, row_offset));
|
return get_range(reference.make_offset(column_offset, row_offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xlnt::range worksheet::rows(int row_offset, int column_offset) const
|
||||||
|
{
|
||||||
|
range_reference reference(calculate_dimension());
|
||||||
|
return get_range(reference.make_offset(column_offset, row_offset));
|
||||||
|
}
|
||||||
|
|
||||||
xlnt::range worksheet::columns() const
|
xlnt::range worksheet::columns() const
|
||||||
{
|
{
|
||||||
return range(*this, calculate_dimension(), major_order::column);
|
return range(*this, calculate_dimension(), major_order::column);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user