#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod address;
mod calculation;
mod cell;
mod defined_name;
mod diagnostic;
mod draft;
mod error;
mod formula;
mod presentation;
mod table;
mod workbook;
mod xlsx;
pub(crate) fn case_insensitive_eq(left: &str, right: &str) -> bool {
left.chars()
.flat_map(char::to_lowercase)
.eq(right.chars().flat_map(char::to_lowercase))
}
pub use address::{CellAddress, CellRange, Column, EXCEL_MAX_COLUMNS, EXCEL_MAX_ROWS, Row};
pub use calculation::{
ApplyChangesError, ArithmeticSemantics, CalculationCellId, CalculationCellResult,
CalculationDecisionReason, CalculationDelta, CalculationDeltaCell, CalculationDeltaPage,
CalculationExecutionMode, CalculationIssue, CalculationIssueCode, CalculationLimits,
CalculationOptions, CalculationOptionsError, CalculationSnapshot, CancellationToken,
CompletedCalculation, CompletedWorkbookTransaction, DefinedNameAnalysis,
DefinedNameAnalysisError, DefinedNameAnalysisErrorKind, DefinedNameAnalysisLimitKind,
DefinedNameAnalysisOptions, DefinedNameAnalysisOptionsError, DefinedNameDynamicKind,
DefinedNameExternalReference, DefinedNameExternalTargetKind, DefinedNameInvalidReason,
DefinedNameReferenceArea, DefinedNameSheetSpan, DefinedNameUnsupportedReason,
FinancialSolverSemantics, FormulaCapability, FormulaCapabilityEntry, FormulaCapabilityReport,
FunctionCatalogEntry, FunctionSupport, FunctionUsageEntry, FunctionUsageReport,
InstallDeltaBasisReason, MaterializedCalculationCell, MaterializedResultOrigin,
PreparedCalculation, PreparedEditBatch, PreparedWorkbookTransaction, RecalculationMode,
SessionError, SessionErrorCode, SessionLimits, TransactionAffectedFormula,
TransactionDetailItem, TransactionDetailSection, TransactionImpactCause,
TransactionImpactCoverage, TransactionImpactPage, TransactionInstallResultChange,
TransactionIssueChange, TransactionIssueChangeKind, TransactionPageCursor,
TransactionResultChange, WorkbookCalculationSession, WorkbookTransactionReceipt,
WorkbookTransactionReport, analyze_defined_name, analyze_defined_name_cancellable,
analyze_defined_name_with_options, calculate_workbook, scan_formula_capabilities,
scan_formula_capabilities_with_options, scan_function_usage, scan_function_usage_with_options,
supported_function_catalog,
};
pub use cell::{
Cell, CellContent, CellValue, ExcelError, FiniteNumber, NumberFormat, NumberFormatKind,
};
pub use defined_name::{DefinedName, DefinedNameScope};
pub use diagnostic::{
Diagnostic, DiagnosticCode, DiagnosticSeverity, InputHash, OutputHash, Provenance,
ProviderIdentity, SourceId, SourceLocation,
};
pub use draft::{EditBatch, EditReceipt, WorkbookChange, WorkbookDraft};
pub use error::{ValidationError, ValidationErrorCode};
pub use formula::{
FormulaCell, FormulaDialect, FormulaMetadata, FormulaText, SavedResult, SavedResultIssue,
SharedFormulaRole,
};
pub use presentation::{
CellPhonetics, ColumnPhoneticVisibility, DocumentPresentation, FrozenPane, PhoneticAlignment,
PhoneticProperties, PhoneticRun, PhoneticTextRange, PhoneticType, PhoneticWriteOptions,
ResolvedPhoneticRun,
};
pub(crate) use presentation::{CellPresentation, PhoneticAnnotation};
pub use table::{
Table, TableAutoFilter, TableCalendarType, TableColorFilter, TableColumn, TableColumnId,
TableColumnName, TableCustomFilter, TableCustomFilterOperator, TableCustomFilters,
TableDateGroupItem, TableDateTimeGrouping, TableDateTimeValue, TableDynamicFilter,
TableDynamicFilterType, TableFilterColumn, TableFilterCriteria, TableFilterItem, TableFormula,
TableIconFilter, TableIconSet, TableId, TableName, TableNumericValue, TableSortBy,
TableSortCondition, TableSortMethod, TableSortState, TableStyleInfo, TableTopFilter, TableType,
TableValueFilters, TotalsRowFunction,
};
pub use workbook::{
CalculationHints, CalculationMode, DateSystem, Sheet, SheetId, SheetName, SheetVisibility,
WorkbookFingerprint, WorkbookSnapshot, WorkbookSource, WorkbookSourceKind,
};
pub use xlsx::{
OpenOptions, PackageSummary, ReadLimits, ReadOptions, ReadOptionsError, RecalculatedWorkbook,
RecalculationWriteOptions, RecalculationWritePolicy, WriteLimits, WriteOptions,
WriteOptionsError, WriteProvenance, WriteReport, XlsxDocument, XlsxDocumentKind, XlsxErrorCode,
XlsxReadError, XlsxWriteError, XlsxWriteErrorCode, inspect_package, open_xlsx_document,
open_xlsx_document_bytes, open_xlsx_document_path, read_xlsx, read_xlsx_bytes, read_xlsx_path,
write_preserved_xlsx_bytes, write_recalculated_xlsx, write_recalculated_xlsx_bytes,
write_recalculated_xlsx_path, write_xlsx_draft, write_xlsx_draft_bytes, write_xlsx_draft_path,
};