diff --git a/index.d.ts b/index.d.ts
index 3f3e45f..dec0b13 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -1,6 +1,6 @@
// Type definitions for xlsx
// Project: https://github.com/SheetJS/js-xlsx
-// Definitions by: themauveavenger
+// Definitions by: themauveavenger , Wolfgang Faust
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/** Attempts to read filename and parse */
@@ -173,11 +173,154 @@ export interface IWorkBook {
Props: IProperties;
}
+export interface IColInfo {
+ /**
+ * Excel's "Max Digit Width" unit, always integral
+ */
+ MDW?: number;
+ /**
+ * width in Excel's "Max Digit Width", width*256 is integral
+ */
+ width: number;
+ /**
+ * width in screen pixels
+ */
+ wpx?: number;
+ /**
+ * intermediate character calculation
+ */
+ wch?: number;
+ /**
+ * if true, the column is hidden
+ */
+ hidden?: boolean;
+}
+export interface IRowInfo {
+ /**
+ * height in screen pixels
+ */
+ hpx?: number;
+ /**
+ * height in points
+ */
+ hpt?: number;
+ /**
+ * if true, the column is hidden
+ */
+ hidden?: boolean;
+}
+
+/**
+ * Write sheet protection properties.
+ */
+export interface IProtectInfo {
+ /**
+ * The password for formats that support password-protected sheets
+ * (XLSX/XLSB/XLS). The writer uses the XOR obfuscation method.
+ */
+ password?: string;
+ /**
+ * Select locked cells
+ * @default: true
+ */
+ selectLockedCells?: boolean;
+ /**
+ * Select unlocked cells
+ * @default: true
+ */
+ selectUnlockedCells?: boolean;
+ /**
+ * Format cells
+ * @default: false
+ */
+ formatCells?: boolean;
+ /**
+ * Format columns
+ * @default: false
+ */
+ formatColumns?: boolean;
+ /**
+ * Format rows
+ * @default: false
+ */
+ formatRows?: boolean;
+ /**
+ * Insert columns
+ * @default: false
+ */
+ insertColumns?: boolean;
+ /**
+ * Insert rows
+ * @default: false
+ */
+ insertRows?: boolean;
+ /**
+ * Insert hyperlinks
+ * @default: false
+ */
+ insertHyperlinks?: boolean;
+ /**
+ * Delete columns
+ * @default: false
+ */
+ deleteColumns?: boolean;
+ /**
+ * Delete rows
+ * @default: false
+ */
+ deleteRows?: boolean;
+ /**
+ * Sort
+ * @default: false
+ */
+ sort?: boolean;
+ /**
+ * Filter
+ * @default: false
+ */
+ autoFilter?: boolean;
+ /**
+ * Use PivotTable reports
+ * @default: false
+ */
+ pivotTables?: boolean;
+ /**
+ * Edit objects
+ * @default: true
+ */
+ objects?: boolean;
+ /**
+ * Edit scenarios
+ * @default: true
+ */
+ scenarios?: boolean;
+}
+
+/**
+ * object representing any sheet (worksheet or chartsheet)
+ */
+export interface ISheet {
+ '!ref'?: string;
+ '!margins'?: {
+ left: number,
+ right: number,
+ top: number,
+ bottom: number,
+ header: number,
+ footer: number,
+ };
+}
+
/**
* object representing the worksheet
*/
-export interface IWorkSheet {
+export interface IWorkSheet extends ISheet {
[cell: string]: IWorkSheetCell | any;
+ '!cols'?: IColInfo[];
+ '!rows'?: IRowInfo[];
+ '!merges'?: IRange[];
+ '!protect'?: IProtectInfo;
+ '!autofilter'?: {ref: string};
}
export interface IWorkSheetCell {