Skip to main content

Crate ooxml_sml

Crate ooxml_sml 

Source
Expand description

SpreadsheetML (XLSX) support for the ooxml library.

This crate provides reading and writing of Excel spreadsheets (.xlsx files).

§Reading Workbooks

use ooxml_sml::{CellResolveExt, RowExt, Workbook};

let mut workbook = Workbook::open("spreadsheet.xlsx")?;
for sheet in workbook.resolved_sheets()? {
    println!("Sheet: {}", sheet.name());
    for row in sheet.rows() {
        for cell in row.cells_iter() {
            print!("{}\t", cell.value_as_string(sheet.context()));
        }
        println!();
    }
}

§Writing Workbooks

use ooxml_sml::WorkbookBuilder;

let mut wb = WorkbookBuilder::new();
let sheet = wb.add_sheet("Sheet1");
sheet.set_cell("A1", "Hello");
sheet.set_cell("B1", 42.0);
sheet.set_cell("C1", true);
wb.save("output.xlsx")?;

Re-exports§

pub use generated as types;
pub use generated_parsers as parsers;
pub use generated_serializers as serializers;
pub use lazy::LazyCell;
pub use lazy::LazyRow;
pub use lazy::LazyWorksheet;
pub use ext::PivotTableExt;
pub use ext::CellExt;
pub use ext::CellResolveExt;
pub use ext::CellValue;
pub use ext::Chart;
pub use ext::ChartType;
pub use ext::Comment;
pub use ext::ResolveContext;
pub use ext::ResolvedSheet;
pub use ext::RowExt;
pub use ext::SheetDataExt;
pub use ext::WorksheetExt;
pub use ext::parse_worksheet;
pub use ext::ConditionalFormattingExt;
pub use ext::ConditionalRuleExt;
pub use ext::WorksheetConditionalFormattingExt;
pub use error::Error;
pub use error::Result;
pub use workbook::ConditionalRuleType;
pub use workbook::DataValidationErrorStyle;
pub use workbook::DataValidationOperator;
pub use workbook::DataValidationType;
pub use workbook::DefinedNameExt;
pub use workbook::DefinedNameScope;
pub use workbook::StylesheetExt;
pub use workbook::Workbook;
pub use workbook::builtin_format_code;
pub use workbook::excel_date_to_ymd;
pub use workbook::excel_datetime_to_ymdhms;
pub use workbook::format_excel_date;
pub use workbook::format_excel_datetime;
pub use writer::BorderLineStyle;
pub use writer::BorderSideStyle;
pub use writer::BorderStyle;
pub use writer::CellStyle;
pub use writer::CommentBuilder;
pub use writer::ConditionalFormat;
pub use writer::ConditionalFormatRule;
pub use writer::DataValidationBuilder;
pub use writer::DefinedNameBuilder;
pub use writer::FillPattern;
pub use writer::FillStyle;
pub use writer::FontStyle;
pub use writer::HorizontalAlignment;
pub use writer::IgnoredErrorType;
pub use writer::PageOrientation;
pub use writer::PageSetupOptions;
pub use writer::SheetBuilder;
pub use writer::UnderlineStyle;
pub use writer::VerticalAlignment;
pub use writer::WorkbookBuilder;
pub use writer::WriteCellValue;

Modules§

error
Error types for SpreadsheetML parsing and writing.
ext
Extension traits for generated OOXML types.
generated
Generated types from the ECMA-376 SpreadsheetML schema.
generated_parsers
Generated FromXml parsers for all generated types.
generated_serializers
Generated ToXml serializers for all generated types.
lazy
Lazy/streaming API for parsing worksheets without full materialization.
workbook
Workbook API for reading and writing Excel files.
writer
Excel workbook writing support.