Closed jmcnamara closed 4 months ago
I've added support for Excel data validations to rust_xlsxwriter
v0.70.0.
Data validation is a feature of Excel that allows you to restrict the data that a user enters in a cell and to display associated help and warning messages. It also allows you to restrict input to values in a dropdown list.
Here is an example:
use rust_xlsxwriter::{DataValidation, DataValidationRule, Workbook, XlsxError};
fn main() -> Result<(), XlsxError> {
// Create a new Excel file object.
let mut workbook = Workbook::new();
let worksheet = workbook.add_worksheet();
worksheet.write(1, 0, "Enter rating in cell D2:")?;
let data_validation = DataValidation::new()
.allow_whole_number(DataValidationRule::Between(1, 5))
.set_input_title("Enter a star rating!")?
.set_input_message("Enter rating 1-5.\nWhole numbers only.")?
.set_error_title("Value outside allowed range")?
.set_error_message("The input value must be an integer in the range 1-5.")?;
worksheet.add_data_validation(1, 3, 1, 3, &data_validation)?;
// Save the file.
workbook.save("data_validation.xlsx")?;
Ok(())
}
Output:
See DataValidation
for details.
I have started to work on the data validation feature. If you are interested in updates or trying it out add a comment/+1 here.
Equivalent XlsxWriter feature: https://xlsxwriter.readthedocs.io/working_with_data_validation.html