Comments (5)
That makes sense. So it would get plugged into the central system I suggested, that would be more idiomatic.
from rust_xlsxwriter.
Thanks for the detailed report.
As reported this isn't a bug since it isn't intended, in rust_xlsxwriter
that the apostrophes are stripped in general. They are only removed when they are "notional", i.e., when they indicate the sheet name contains whitespace.
There probably does need to be centralised name checking, like you suggested in #45. I'll look into that.
I also need to check if there is a bug if an invalid worksheet name is passed as a chart range. I'll keep this open and look into that.
Thanks again.
from rust_xlsxwriter.
According to the Microsoft spec it's not supposed to use apostrophes in general if I read this right
https://support.microsoft.com/en-us/office/rename-a-worksheet-3f1f7148-ee83-404d-8ef0-9ff99fbad1f9
from rust_xlsxwriter.
According to the Microsoft spec it's not supposed to use apostrophes in general if I read this right
Correct but rust_xlsxwriter
doesn't sanitize the input (in this case). This would be considered a user input error and should raise a validation error.
However, I just checked and it doesn't:
use rust_xlsxwriter::{Chart, ChartType, Workbook, XlsxError};
fn main() -> Result<(), XlsxError> {
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
let data = [1, 2, 3, 2, 1];
worksheet.write_column(0, 0, data)?;
let mut chart = Chart::new(ChartType::Column);
chart.add_series().set_values("'Sheet1!$A$1:$A$5");
worksheet.insert_chart(0, 2, &chart)?;
workbook.save("chart.xlsx")?;
Ok(())
}
$ cargo run --example gh44 # No error.
So I'll look into that and fix it so that there is proper validation.
from rust_xlsxwriter.
Closing this and merging the issue with #45
from rust_xlsxwriter.
Related Issues (20)
- Bug: clone HOT 8
- feature request: rename `rust_xlsxwriter` into `excelwriter` HOT 10
- Bug: issue with serde `skip_serializing_if` HOT 3
- Is it possible to add a custom XlsxError HOT 4
- Bug: `Result<T, E>` serialization not working HOT 1
- Bug: `value_format` annotation not working with `chrono::NaiveDate` HOT 9
- Bug: serialized fields are not skipped correctly
- question: Use formatting without workbook HOT 1
- Is it possible for us to add comments to cells? HOT 3
- feature request: <Prevent cell from overflowing into next (empty) cell> HOT 1
- Feature request: set a cell 's background color HOT 2
- Feature request: utility::validate_sheetname visibility HOT 5
- feature request: <Update polars to version 0.37> HOT 6
- Bug: `IntoExcelData::write_with_format` should have a free lifetime for `format` argument HOT 3
- feature request: Add the ability to return a Workbook by reading an xlsx file HOT 1
- Bug: Line breaks "\n" behaves strangely HOT 3
- question: Is it normal that "23/07/2023" renders "'23/07/2023"? HOT 8
- Bug: header_format and table_default are incompatible HOT 6
- feature request: <Implement the URLs in images feature>
- Bug: Incorrect adjustment of column widths in autofit method with autofilter headers HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust_xlsxwriter.