private void SheetDistribution(ref XLWorkbook workbook) { // This is invariant NumberFormatInfo format = new NumberFormatInfo(); // Set the 'splitter' for thousands format.NumberGroupSeparator = "."; // Set the decimal seperator format.NumberDecimalSeparator = ","; string sheetName = "Distribution"; string fileName = "Distribution.dat"; string mask = ""; var worksheet01 = workbook.Worksheets.Add(sheetName); //DADOS string line; List <string> lines = new List <string>(); using (ExtendedStreamReader file = new ExtendedStreamReader(dirWebExcel + @"\" + fileName, this.param.dataToProcess.Guid, false)) { while ((line = file.ReadLine()) != null) { if (String.IsNullOrEmpty(line)) { break; } lines.Add(line); } file.Close(); file.Dispose(); } //FIM DADOS //HEADER worksheet01.Cell("A1").Value = sheetName; worksheet01.Cell("B1").Value = mask; worksheet01.Cell("C1").Value = mask; worksheet01.Cell("D1").Value = "idx"; worksheet01.Cell("E1").Value = "mcStep"; worksheet01.Cell("F1").Value = "rg2"; worksheet01.Cell("G1").Value = "rg2(accumulated)"; worksheet01.Cell("H1").Value = "<rg2>"; worksheet01.Cell("I1").Value = "e"; worksheet01.Cell("J1").Value = "e(accumulated)"; worksheet01.Cell("K1").Value = "<e>"; worksheet01.Cell("L1").Value = "U"; worksheet01.Cell("M1").Value = "U(accumulated)"; worksheet01.Cell("N1").Value = "<U>"; //INFOS string comment = string.Empty; double value = 0; int i = 0; //DATA long idx, mcstep = 0; double rg, U, eE, eRG, eU, e, aE, aU, aRG; rg = U = eE = eRG = eU = e = aE = aU = aRG = 0; //PRIMEIRA PARTE COM HEADER for (i = 0; i < 8; i++) { string[] temp = lines[i].Split(':'); comment = ConvertCustom.ToString(temp[0]); worksheet01.Cell("A" + (i + 2)).Value = comment; try { value = ConvertCustom.ToDouble(temp[1]); worksheet01.Cell("B" + (i + 2)).Value = value; } catch (FormatException) { string strValue = Convert.ToString(temp[1]); worksheet01.Cell("B" + (i + 2)).Value = strValue; } string[] tempResult = lines[i + 9].Split('\t'); idx = ConvertCustom.ToInt32(tempResult[0]); mcstep = ConvertCustom.ToInt32(tempResult[1]); rg = double.Parse(tempResult[2], format); aRG = double.Parse(tempResult[3], format); eRG = double.Parse(tempResult[4], format); e = double.Parse(tempResult[5], format); aE = double.Parse(tempResult[6], format); eE = double.Parse(tempResult[7], format); U = double.Parse(tempResult[8], format); aU = double.Parse(tempResult[9], format); eU = double.Parse(tempResult[10], format); worksheet01.Cell("C" + (i + 2)).Value = mask; worksheet01.Cell("D" + (i + 2)).Value = idx; worksheet01.Cell("E" + (i + 2)).Value = mcstep; worksheet01.Cell("F" + (i + 2)).Value = rg; worksheet01.Cell("G" + (i + 2)).Value = aRG; worksheet01.Cell("H" + (i + 2)).Value = eRG; worksheet01.Cell("I" + (i + 2)).Value = e; worksheet01.Cell("J" + (i + 2)).Value = aE; worksheet01.Cell("K" + (i + 2)).Value = eE; worksheet01.Cell("L" + (i + 2)).Value = U; worksheet01.Cell("M" + (i + 2)).Value = aU; worksheet01.Cell("N" + (i + 2)).Value = eU; } //SEGUNDA PARTE for (int j = i; j < (lines.Count() - 9); j++) { worksheet01.Cell("A" + (j + 2)).Value = mask; worksheet01.Cell("B" + (j + 2)).Value = mask; worksheet01.Cell("C" + (j + 2)).Value = mask; string[] tempResult = lines[j + 9].Split('\t'); idx = ConvertCustom.ToInt32(tempResult[0]); mcstep = ConvertCustom.ToInt32(tempResult[1]); rg = double.Parse(tempResult[2], format); aRG = double.Parse(tempResult[3], format); eRG = double.Parse(tempResult[4], format); e = double.Parse(tempResult[5], format); aE = double.Parse(tempResult[6], format); eE = double.Parse(tempResult[7], format); U = double.Parse(tempResult[8], format); aU = double.Parse(tempResult[9], format); eU = double.Parse(tempResult[10], format); worksheet01.Cell("D" + (j + 2)).Value = idx; worksheet01.Cell("E" + (j + 2)).Value = mcstep; worksheet01.Cell("F" + (j + 2)).Value = rg; worksheet01.Cell("G" + (j + 2)).Value = aRG; worksheet01.Cell("H" + (j + 2)).Value = eRG; worksheet01.Cell("I" + (j + 2)).Value = e; worksheet01.Cell("J" + (j + 2)).Value = aE; worksheet01.Cell("K" + (j + 2)).Value = eE; worksheet01.Cell("L" + (j + 2)).Value = U; worksheet01.Cell("M" + (j + 2)).Value = aU; worksheet01.Cell("N" + (j + 2)).Value = eU; } lines = null; //FIM DATASHEET }