mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
Shared strings
It can happen that some strings are not unique in sharedstring table
This commit is contained in:
parent
49663bc483
commit
d6262df555
|
@ -1923,13 +1923,15 @@ void xlsx_consumer::read_shared_string_table()
|
||||||
{
|
{
|
||||||
expect_start_element(qn("spreadsheetml", "si"), xml::content::complex);
|
expect_start_element(qn("spreadsheetml", "si"), xml::content::complex);
|
||||||
auto rt = read_rich_text(qn("spreadsheetml", "si"));
|
auto rt = read_rich_text(qn("spreadsheetml", "si"));
|
||||||
target_.add_shared_string(rt);
|
//by reading in it can happen we have similar strings from modified excel worksheets...
|
||||||
|
//so allow to add duplicates
|
||||||
|
target_.add_shared_string(rt, true);
|
||||||
expect_end_element(qn("spreadsheetml", "si"));
|
expect_end_element(qn("spreadsheetml", "si"));
|
||||||
}
|
}
|
||||||
|
|
||||||
expect_end_element(qn("spreadsheetml", "sst"));
|
expect_end_element(qn("spreadsheetml", "sst"));
|
||||||
|
|
||||||
if (has_unique_count && unique_count != target_.shared_strings().size())
|
if (has_unique_count && unique_count != target_.shared_strings_by_id().size())
|
||||||
{
|
{
|
||||||
throw invalid_file("sizes don't match");
|
throw invalid_file("sizes don't match");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user