public void DeleteSheet(string name) { var sheet = document.FindSheetByName(name); var worksheet = sheet.Parent as Worksheet; sheet.Remove(); }
public void Init(SpreadsheetDocument document) { AllCells = document.FindCellsByRange(CellRange); CellRange.SheetTemplate = document.FindSheetByName(CellRange.SheetName); CellRange.WorksheetPart = ((WorksheetPart)document.WorkbookPart.GetPartById(CellRange.SheetTemplate.Id)); CellRange.MergeCells = CellRange.WorksheetPart.Worksheet.GetFirstChild <MergeCells>(); if (CellRange.MergeCells != null) { CellRange.MergeCellsDic = CellRange.MergeCells.ToDictionary(e => (e as MergeCell).Reference.Value.ToUpper().Split(':')[0], e => (e as MergeCell)); } foreach (var rowGroup in AllCells) { foreach (Cell cell in rowGroup) { if (cell.DataType != null && cell.CellValue != null) { string stringValue = null; switch (cell.DataType.Value) { case CellValues.SharedString: { int index = int.Parse(cell.CellValue.Text); SharedStringItem stringItem = document.WorkbookPart.SharedStringTablePart.SharedStringTable.Elements <SharedStringItem>().ElementAt(index); stringValue = stringItem.InnerText; break; } case CellValues.String: { stringValue = cell.CellValue.Text; break; } } if (PARAM_PATTERN == null) { PARAM_PATTERN = new Regex(this.regexVariable); } if (!string.IsNullOrEmpty(stringValue) && PARAM_PATTERN.IsMatch(stringValue)) { var match = PARAM_PATTERN.Match(stringValue); var Func = ""; string Variable = ""; string VariableFull = Variable = match.Groups[1].Value; string regexFunc = @".\:(.*)"; var regexFuncRexgex = new Regex(regexFunc); if (regexFuncRexgex.IsMatch(VariableFull)) { var match1 = regexFuncRexgex.Match(VariableFull); Func = match1.Groups[1].Value; Variable = VariableFull.Replace(":" + Func, ""); } VariableFull = string.Format("[%{0}%]", VariableFull); AllCellsConfig.Add(new { TextOrigin = stringValue, Cell = cell, VariableFull = VariableFull, Variable = Variable, Func = Func, }); } } } } }