mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
Merge branch 'master' into feature/streaming
This commit is contained in:
commit
7b391321f6
|
@ -8,7 +8,7 @@
|
||||||
[![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
|
[![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
xlnt is a modern C++ library for manipulating spreadsheets in memory and reading/writing them from/to XLSX files as described in [ECMA 376 4th edition](http://www.ecma-international.org/publications/standards/Ecma-376.htm). xlnt is currently under active feature development and is on track for the version 1.0 release in the next few weeks. Until then, the API could have significant changes. For a high-level summary of what you can do with this library, see [the feature list](https://tfussell.gitbooks.io/xlnt/content/docs/introduction/Features.html).
|
xlnt is a modern C++ library for manipulating spreadsheets in memory and reading/writing them from/to XLSX files as described in [ECMA 376 4th edition](http://www.ecma-international.org/publications/standards/Ecma-376.htm). The first public release of xlnt version 1.0 was on May 10th, 2017. Current work is focused on increasing compatibility, improving performance, and brainstorming future development goals. For a high-level summary of what you can do with this library, see [the feature list](https://tfussell.gitbooks.io/xlnt/content/docs/introduction/Features.html). Contributions are welcome in the form of pull requests or discussions on [the repository's Issues page](https://github.com/tfussell/xlnt/issues).
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ int main()
|
||||||
wb.save("example.xlsx");
|
wb.save("example.xlsx");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// compile with -std=c++14 -Ixlnt/include -Lxlnt/lib -lxlnt
|
// compile with -std=c++14 -Ixlnt/include -lxlnt
|
||||||
```
|
```
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
|
@ -551,10 +551,26 @@ void xlsx_consumer::read_office_document(const std::string &content_type, bool s
|
||||||
"showHorizontalScroll", "showSheetTabs", "showVerticalScroll"});
|
"showHorizontalScroll", "showSheetTabs", "showVerticalScroll"});
|
||||||
|
|
||||||
workbook_view view;
|
workbook_view view;
|
||||||
|
|
||||||
|
if (parser().attribute_present("xWindow"))
|
||||||
|
{
|
||||||
view.x_window = parser().attribute<std::size_t>("xWindow");
|
view.x_window = parser().attribute<std::size_t>("xWindow");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parser().attribute_present("yWindow"))
|
||||||
|
{
|
||||||
view.y_window = parser().attribute<std::size_t>("yWindow");
|
view.y_window = parser().attribute<std::size_t>("yWindow");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parser().attribute_present("windowWidth"))
|
||||||
|
{
|
||||||
view.window_width = parser().attribute<std::size_t>("windowWidth");
|
view.window_width = parser().attribute<std::size_t>("windowWidth");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parser().attribute_present("windowHeight"))
|
||||||
|
{
|
||||||
view.window_height = parser().attribute<std::size_t>("windowHeight");
|
view.window_height = parser().attribute<std::size_t>("windowHeight");
|
||||||
|
}
|
||||||
|
|
||||||
if (parser().attribute_present("tabRatio"))
|
if (parser().attribute_present("tabRatio"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,6 +39,11 @@ void manifest::clear()
|
||||||
|
|
||||||
path manifest::canonicalize(const std::vector<xlnt::relationship> &rels) const
|
path manifest::canonicalize(const std::vector<xlnt::relationship> &rels) const
|
||||||
{
|
{
|
||||||
|
if (rels.back().target().path().is_absolute())
|
||||||
|
{
|
||||||
|
return rels.back().target().path().relative_to(path("/"));
|
||||||
|
}
|
||||||
|
|
||||||
xlnt::path relative;
|
xlnt::path relative;
|
||||||
|
|
||||||
for (auto component : rels)
|
for (auto component : rels)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user