public Data.RowNode getRowNode() { int count = 0; int ssIndex; Data.RowNode rowNode = new Data.RowNode(); List <Data.CellNode> cellNodes = new List <Data.CellNode>(); Data.CellNode keyNode = null; foreach (XmlElement cellElement in _rowElement.GetElementsByTagName("Cell")) { if (cellElement.GetAttribute("ss:Index") != "") { ssIndex = Int32.Parse(cellElement.GetAttribute("ss:Index")); while (count < ssIndex - 1) { cellNodes.Add(null); count++; } } if (_isKeyRow) { _cellNodeReader = new XmlCellNodeReader(cellElement, _tableNode.getSheetName()); if (_cellNodeReader.getCellNode() == null) { continue; } rowNode.addCellNode(_cellNodeReader.getCellNode()); } else { //这边判断是不是key和output string key = _tableNode.getKeyStrByIndex(count); _cellNodeReader = new XmlCellNodeReader(cellElement, _tableNode.getSheetName(), key); if (_cellNodeReader.getCellNode() == null) { continue; } code.Data.TranslateFileData.TranslateData translateData = _tableNode.getTranslateData(); if (translateData.key == key) { keyNode = _cellNodeReader.getCellNode(); } if (translateData.outputStrs.Contains(key)) { cellNodes.Add(_cellNodeReader.getCellNode()); } } count++; } if (!_isKeyRow) { rowNode.addCellNode(keyNode); for (int i = 0; i < cellNodes.Count; i++) { rowNode.addCellNode(cellNodes[i]); } } return(rowNode); }
public Data.RowNode getRowNode() { Data.RowNode rowNode = new Data.RowNode(); List <Data.CellNode> cellNodes = new List <Data.CellNode>(); Data.CellNode keyNode = null; ExcelCellNodeReader excelCellNodeReader; for (int i = _row.FirstCellNum; i < _row.LastCellNum; i++) { ICell cell = _row.GetCell(i); if (cell == null) { cellNodes.Add(null); } else if (_isKeyRow) { excelCellNodeReader = new ExcelCellNodeReader(cell, _tableNode.getSheetName()); rowNode.addCellNode(excelCellNodeReader.getCellNode()); } else { //这边判断是不是key和output string key = _tableNode.getKeyStrByIndex(i); if (key == null) { continue; } excelCellNodeReader = new ExcelCellNodeReader(cell, _tableNode.getSheetName(), key); Data.TranslateFileData.TranslateData translateData = _tableNode.getTranslateData(); if (translateData.key == key) { keyNode = excelCellNodeReader.getCellNode(); } if (translateData.outputStrs.Contains(key)) { cellNodes.Add(excelCellNodeReader.getCellNode()); } } } if (!_isKeyRow) { rowNode.addCellNode(keyNode); for (int i = 0; i < cellNodes.Count; i++) { rowNode.addCellNode(cellNodes[i]); } } return(rowNode); }