Convert an Excel serial date to an ISO 8601 date string (UTC)
If is_1904 is true, use the 1904 date system; otherwise, use the 1900 date system.
Returns None if the serial number is invalid.
Examples:
excel_serial_to_iso_date(44197.0, false) -> Some(“2021-01-01T00:00:00.000Z”)
excel_serial_to_iso_date(0.0, false) -> Some(“1899-12-30T00:00:00.000Z”)
excel_serial_to_iso_date(1.0, false) -> Some(“1899-12-31T00:00:00.000Z”)
excel_serial_to_iso_date(60.0, false) -> Some(“1900-02-29T00:00:00.000Z”) // Excel bug
Export a sheet XML to CSV file
reader: BufRead of the sheet XML
shared_strings: slice of shared strings
styles: slice of StyleInfo
is_1904: whether the workbook uses the 1904 date system
out_path: path to output CSV file
delimiter: CSV delimiter character (e.g., b’,’ or b’;’)
Returns Result<()>
Convert a sheet name to a lowercase filename-safe string
Non-alphanumeric characters are replaced with underscores.
If the resulting string is empty, “sheet” is returned.
Examples:
“Sheet1” -> “sheet1”
“Data-Set_2024” -> “data-set_2024”
“!!!” -> “sheet”
“Sales Data (Q1)” -> “sales_data__q1_”