umya-spreadsheet icon indicating copy to clipboard operation
umya-spreadsheet copied to clipboard

A pure rust library for reading and writing spreadsheet files

Results 74 umya-spreadsheet issues
Sort by recently updated
recently updated
newest added

I'm not sure whether or not this was an issue in previous version, not sure whether I had tested with Excel. Opening a file with comments in excel makes excel...

When initialising lazily, one must initialise a sheet in order to interact with it. Currently that requires sheet index.

run cargo flamegraph --test integration_test -- read_large_string the result show that (1) umya_spreadsheet::helper::coordinate::index_from_coordinate and (2) umya_spreadsheet::structs::cells::Cells::set_fast are the main time consumers. (1) is related to regex and format. (2) hashbrown::raw::RawTable::reserve_rehash...

Is there benchmarks for this crate? If not, they'd be nice to have.

![image](https://github.com/MathNya/umya-spreadsheet/assets/45330841/dc530f84-c519-4cff-8f1b-61c9af9475f4) Excel is working with formulas with this format, but umya-spreadsheet says that: cell.is_formula() is false

umya-spreadsheet is so far the only crate I can find with both read and write feature I need. I do hope my suggestion could make this library better. below is...

version: V 1.1.1 # relevant code original code [here](https://github.com/MathNya/umya-spreadsheet/blob/c00d3c4ab08854845bb691949ba02838e964ebdc/src/structs/vml/image_data.rs#L41C9-L47C10): ```rust if let Some(relid) = get_attribute(e, b"o:relid") { let relationship = drawing_relationships .unwrap() // here, should only unwrap if it is...

Excel supports `definedName` format of a list of comma separated addresses (cells or ranges). Reading such an Excel file panics on "Non-standard address".

As much as I have seen I think that the entire Excel file props are loaded into memory to read and write. To optimize performance, I suggest selectively loading and...

when i read data i get empty string ``` for row in 1..max_col_and_row.0+1 { let mut row_vec: Vec = Vec::new(); for col in 1..max_col_and_row.1+1 { let cell = book .get_sheet_by_name(sheetname)...