public static string GetDataAt(int row, int column) { if (ws == null) { Console.WriteLine("WorkSheet nije ucitan!"); return("ERROR"); } if (row < ws.Rows.Count) { RangeRow rangeRow = ws.Rows[row]; if (column < rangeRow.Columns.Count) { RangeColumn rangeColumn = rangeRow.Columns[column]; if (rangeColumn != null) { return(rangeColumn.StringValue); } else { Console.WriteLine("Ne postoji celija!"); return("ERROR"); } } else { Console.WriteLine("Ne postoji kolona!"); return("ERROR"); } } else { Console.WriteLine("Ne postoji red!"); return("ERROR"); } }
public static string GetDataAt(int row, int column) //vadjenje informacija iz sheet-a { if (ws == null) //ako ne postoji ucitan ws, daj error da nije ucitan { Console.WriteLine("WorkSheet nije ucitan!"); return("ERROR"); //mora da se vrati vrednost jer nije void } if (row < ws.Rows.Count) //broj izabranog reda mora da bude manji od broja redova (jer se krece od 0) { RangeRow rangeRow = ws.Rows[row]; //dohvata se izabran red if (column < rangeRow.Columns.Count) //ako je broj izabranog reda okej, proverava se da li je kolona okej { RangeColumn rangeColumn = rangeRow.Columns[column]; //dohvata se izabrana kolona, unutar reda gadjamo sve kolone, pa uzimamo odredjenu sa indexom column if (rangeColumn != null) //ako celija u koloni nije null, znaci da postoji i vraca se tekstualna vrednost (stringvalue) { return(rangeColumn.StringValue); } else { Console.WriteLine("Ne postoji celija!"); //vraca se error ako celija ne postoji, ako je null return("ERROR"); } } else //ako ne postoji kolona, vraca se error { Console.WriteLine("Ne postoji kolona!"); return("ERROR"); } } else //ako ne postoji red, vraca se error { Console.WriteLine("Ne postoji red!"); return("ERROR"); } }
public static LinkedList <Row> ToRowEntityList(this WorkSheet worksheet) { LinkedList <Row> rowList = new LinkedList <Row>(); for (int i = 1; i < worksheet.RowCount; i++) { RangeRow row = worksheet.GetRow(i); rowList.AddLast(RowFactory.CreateRowFromCells(row.ToArray())); } return(rowList); }
private UInt32 AppendRows(DataRow dataRow, IEnumerable <Row> ListRowInRange, IEnumerable <MergeCell> ListMergeCells, WorksheetPart RecultWorkSheetPart, UInt32 Offset) { // String RangeName = ""; // if (dataRow != null) RangeName = dataRow.Table.TableName; UInt32 CountRangeData = Convert.ToUInt32(ListRowInRange.Count()); SheetData sheetData = RecultWorkSheetPart.Worksheet.Elements <SheetData>().First(); foreach (Row RangeRow in ListRowInRange) //Добавляем строки выбраные по указаному DefinedName { Row r = (Row)RangeRow.Clone(); r.RowIndex = r.RowIndex + Offset; foreach (Cell cell in r.Elements <Cell>()) { cell.CellReference = SpreadsheetReader.ColumnFromReference(cell.CellReference) + r.RowIndex.ToString(); if (dataRow != null) { // ConvertMathFormulaToCellValue(dataRow.Table.DataSet, dataRow.Table.Columns, dataRow, cell); // ConvertFormulaToValue(dataRow.Table.DataSet, dataRow.Table.Columns, dataRow, cell); SetValueToCellFormula(dataRow.Table.DataSet, dataRow, cell); } } sheetData.Append(r); } if (ListMergeCells.Count() > 0) { foreach (MergeCell mCell in ListMergeCells) //Добавление обединенных ячеек присутствующих в ListMergeCells { string StartRef = FirstRefFromRange(mCell.Reference.Value); string EndRef = LastRefFromRange(mCell.Reference.Value); string newRangeFirst = SpreadsheetReader.ColumnFromReference(StartRef) + (SpreadsheetReader.RowFromReference(StartRef) + Offset); string newRangeEnd = SpreadsheetReader.ColumnFromReference(EndRef) + (SpreadsheetReader.RowFromReference(EndRef) + Offset); MergeCell mergeCell = new MergeCell() { Reference = new StringValue(newRangeFirst + ":" + newRangeEnd) }; RecultWorkSheetPart.Worksheet.GetFirstChild <MergeCells>().Append(mergeCell); } } return(CountRangeData); }