public ConfigIntegrator(Param param, bool filesMoved) { this.param = param; this.totalSitio = param.dataToProcess.totalSitio; this.MCSteps = param.dataToProcess.maxInterations * totalSitio * 5; this.valueDivResult = param.dataToResults.valueDivResult; this.valueDiscard = param.dataToResults.valueDiscard; this.maxInterations = param.dataToProcess.maxInterations; this.dirBaseServer = new ExtendedDirectoryInfo(DirBaseService.GetDirBaseService().dirBaseServer); this.dirBaseWeb = new ExtendedDirectoryInfo(DirBaseService.GetDirBaseService().dirBaseWeb); if (!filesMoved) { this.movimentsOccurred = ExtendedStreamReader.LinesOfFile(dirBaseWeb.FullName() + this.param.dataToProcess.Guid + @"\Debug\Debug.dat"); } else { this.movimentsOccurred = ExtendedStreamReader.LinesOfFile(dirBaseWeb.FullName() + this.param.dataToProcess.Guid + @"\Result\Debug.dat"); } this.delta = (movimentsOccurred - valueDiscard) / valueDivResult; this.mcSteps = param.dataToProcess.maxInterations * 5 * param.dataToProcess.totalSitio; }
private void SheetDebug(ref XLWorkbook workbook) { string sheetName = "debug"; var worksheet01 = workbook.Worksheets.Add(sheetName); //DADOS string line; int numberofLines = ExtendedStreamReader.LinesOfFile(dirServerDebug + @"\" + debugFile); //List<string> lines = new List<string>(); using (ExtendedStreamReader file = new ExtendedStreamReader(dirServerDebug + @"\" + debugFile, this.param.dataToProcess.Guid, this.param.dataToProcess.crypt)) { int rec = 0; int idx = 0; while ((line = file.ReadLine()) != null) { if (!(idx < 1048576)) { break; } if (String.IsNullOrEmpty(line)) { break; } WriteSecondSheet(line, idx, ref worksheet01); idx++; if (rec == 99999) { SaveDebug(ref workbook); //http://stackoverflow.com/questions/22747360/append-to-excel-file-with-closedxml //int NumberOfLastRow = worksheet01.LastRowUsed().RowNumber(); //IXLCell CellForNewData = worksheet01.Cell(NumberOfLastRow + 1, 1); rec = 0; PrintPercentCompleted(idx, numberofLines); } else { rec++; } } file.Close(); file.Dispose(); } //FIM DADOS }
private void SheetTrajectory(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 = "Trajectory"; var worksheet01 = workbook.Worksheets.Add(sheetName); int numberLines = ExtendedStreamReader.LinesOfFile(dirServerDebug + @"\" + debugFile); //DADOS string line; List <Trajectory> trajectory = new List <Trajectory>(); int _MCStep = 0; using (ExtendedStreamReader file = new ExtendedStreamReader(dirServerDebug + @"\" + debugFile, this.param.dataToProcess.Guid, this.param.dataToProcess.crypt)) { double rg = 0; //Calculo acumulado do Raio de GIração int cont = 0; //Contador //int lastMove = 0; //valor do último movimento int contAdd = 1; //contador adicional while ((line = file.ReadLine()) != null) { if (String.IsNullOrEmpty(line)) { break; } if (cont > 0) { string[] col = line.Split('\t'); int numberMov = ConvertCustom.ToInt32(col[0]); if (numberMov < (delta * contAdd) + 1) { rg += double.Parse(col[3], format); //coluna no qual contêm valor do raio de giração _MCStep = ConvertCustom.ToInt32(col[0]); } else { double value = ((double)1 / delta) * rg; trajectory.Add(new Trajectory() { MCStep = _MCStep, rg = value }); contAdd++; rg = 0; rg += Convert.ToDouble(col[3]); //coluna no qual contêm valor do raio de giração } } cont++; } file.Close(); file.Dispose(); } //FIM DADOS //DATASHEET worksheet01.Cell("A1").Value = sheetName; worksheet01.Cell("A2").Value = "lines"; worksheet01.Cell("B2").Value = numberLines; worksheet01.Cell("A3").Value = "MCSteps"; worksheet01.Cell("B3").Value = MCSteps; worksheet01.Cell("A4").Value = "delta"; worksheet01.Cell("B4").Value = delta; worksheet01.Cell("A5").Value = "idx"; worksheet01.Cell("B5").Value = "MCSteps"; worksheet01.Cell("C5").Value = "SUM((1 / delta) * md)"; for (int i = 0; i < trajectory.Count; i++) { double value = trajectory[i].rg; _MCStep = trajectory[i].MCStep; worksheet01.Cell("A" + (i + 6)).Value = i; worksheet01.Cell("B" + (i + 6)).Value = _MCStep; worksheet01.Cell("C" + (i + 6)).Value = value; } }