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 string ObjectString(Data.RowNode dataRowNode) { string returnStr; int count = 0; LuaCellNodeWriter cellNodeWrite = new LuaCellNodeWriter(); if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null) { return(null); } string key = dataRowNode.getCellNodeList()[0].getData().ToString(); if (key == int.Parse(key).ToString()) { returnStr = GlobalData.getLuaRowBlock() + "{"; } else { returnStr = GlobalData.getLuaRowBlock() + dataRowNode.getCellNodeList()[0].getData() + " = {"; } for (int i = 1; i < dataRowNode.getCellNodeList().Count; i++) { if (dataRowNode.getCellNodeList()[i] == null) { continue; } returnStr = returnStr + ((count == 0) ? "\r\n" : ",\r\n") + cellNodeWrite.getString(dataRowNode.getCellNodeList()[i]); count++; } returnStr = returnStr + "\r\n" + GlobalData.getLuaRowBlock() + " " + "}"; return(returnStr); }
//获取Unity解析Dict形式Json所需要的keys public string UnityGetKeyString(Data.RowNode dataRowNode) { JsonCellNodeWriter cellNodeWrite = new JsonCellNodeWriter(); if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null) { return(null); } return(GlobalData.getJsonRowBlock() + " " + '"' + dataRowNode.getCellNodeList()[0].getData() + '"'); }
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); }
public string ObjectString(Data.RowNode dataRowNode) { string returnStr; int count = 0; JsonCellNodeWriter cellNodeWrite = new JsonCellNodeWriter(); if (dataRowNode.getCellNodeList().Count == 0 || dataRowNode.getCellNodeList()[0] == null) { return(null); } returnStr = GlobalData.getJsonRowBlock() + '"' + dataRowNode.getCellNodeList()[0].getData() + '"' + ": {"; for (int i = 1; i < dataRowNode.getCellNodeList().Count; i++) { if (dataRowNode.getCellNodeList()[i] == null) { continue; } returnStr = returnStr + ((count == 0) ? "\r\n" : ",\r\n") + cellNodeWrite.getString(dataRowNode.getCellNodeList()[i]); count++; } returnStr = returnStr + "\r\n" + GlobalData.getJsonRowBlock() + " " + "}"; return(returnStr); }