public void ColumnName(int row, int col, string address) { // Arrange var reader = CellReader.Create(_package.Workbook[FirstSheetName]); // Act var cell = reader.GetCell(row, col); // Assert Assert.AreEqual(col, cell.ColumnIndex); }
private List <Dictionary <string, double> > ReadValues(WorksheetPart sheet, CellReader cellReader) { var data = new List <Dictionary <string, double> >(); using (var reader = OpenXmlReader.Create(sheet)) { var columns = new Dictionary <string, string>(); Action <Dictionary <string, double>, string, double> saveValueTo = (row, columnKey, value) => row[columns[columnKey]] = value; var firstRowState = ReadingState.NotStarted; Dictionary <string, double> currentRow = null; while (reader.Read()) { if (isStartingReadFirstRow(reader, firstRowState)) { firstRowState = ReadingState.Reading; } if (isEndingReadFirstRow(reader, firstRowState)) { firstRowState = ReadingState.Complete; } if (reader.ElementType == typeof(Cell)) { var cell = (Cell)reader.LoadCurrentElement(); var columnKey = cellReader.GetColumnKeyOf(cell); if (firstRowState == ReadingState.Reading) { var columnName = cellReader.GetValueFrom(cell); columns.Add(columnKey, columnName); continue; } if (firstRowState == ReadingState.Complete) { if (IsFirstColumn(columnKey)) { currentRow = new Dictionary <string, double>(); data.Add(currentRow); } var value = cellReader.GetValueOfDouble(cell); saveValueTo(currentRow, columnKey, value); } } } } return(data); }
protected override DataResult ReadImpl(string path) { using (var document = SpreadsheetDocument.Open(path, false)) { var sheet = document.WorkbookPart.WorksheetParts.First(); var sharedStrings = TryLoadSharedStrings(document); var cellReader = new CellReader(sharedStrings); var data = ReadValues(sheet, cellReader); return(DataResult.CreateSuccessful(data)); } }
public void ReadCellsByCoordinates(int row, int col, string value) { // Arrange var reader = CellReader.Create(_package.Workbook[FirstSheetName]); // Act var cell = reader.GetCell(row, col); // Assert Assert.IsNotNull(cell); Assert.AreEqual(value, cell.Value); reader.Dispose(); }
public void ReadCells(string address, string value) { // Arrange var reader = CellReader.Create(_package.Workbook[FirstSheetName]); // Act var cell = reader.GetCell(address); // Assert Assert.IsNotNull(cell); Assert.AreEqual(value, cell.Value); reader.Dispose(); }
public static CellWrapper LoadCellByName(string cellName) { var cellPath = CreateCellPath(cellName); if (!CellExists(cellPath)) { return(null); } var cell = CellReader.Read(cellPath); cell.Name = cellName; cell.Path = cellPath; return(cell); }
internal void ForEachValue(CellReader cellDelegate) { if (_areas == null) return; foreach (Area area in _areas) { int c = 0, r = 0; var nbrow = area.NbRow; var nbcol = area.NbCol; try { for (r = 1; r <= nbrow; r++) { if (area.HiddenRows[r]) continue; for (c = 1; c <= nbcol; c++) { if (area.HiddenCols[c] || (!_withNullCells && area.Data[r, c] == null)) continue; cellDelegate(area.Data[r, c]); } } } catch (Exception ex) { ex.Data.Add(ex.Data.Count.ToString(), area.Data[r, c] == null ? null : "CellType: " + area.Data[r, c].GetType().ToString()); ex.Data.Add(ex.Data.Count.ToString(), area.Data[r, c] == null ? null : "CellValue: " + area.Data[r, c].ToString()); throw; } } }