static void Main(string[] args) { List <UI> add = new List <UI>(); List <TIME> KX = new List <TIME>(); int k = 0; Console.Write("数据正在初始化中请稍等.................."); for (int i = 0; i < Properties.Settings.Default.SUM; i += 10) { Console.SetCursorPosition(0, 1);//设置光标位置,参数为第几列和第几 Console.Write("当前进度为" + (i / 9000.0).ToString("F5") + "%"); System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; string retString = ""; if (Properties.Settings.Default.URL == "Lung") { retString = httpGet("https://clinicaltrials.gov/ct2/results/rpc/Ci0yqihHSdCLRi7xUnhgkdNgzwJ?start=" + i + "&length=10");//总共9005 } else if (Properties.Settings.Default.URL == "Breast") { retString = httpGet("https://clinicaltrials.gov/ct2/results/rpc/7i0yqihHSdCLoB1gWwNz0nhgkdNgzwJ?start=" + i + "&length=10"); } else if (Properties.Settings.Default.URL == "Gastric") { retString = httpGet("https://clinicaltrials.gov/ct2/results/rpc/Hi0yqihHSdCLYwNHkw-VJBcGuBcHS?start=" + i + "&length=10");//总共13000 } else { return; } if (retString == "") { continue; } try { var QDATA = (JObject)JsonConvert.DeserializeObject(retString); var DATA = QDATA["data"].Children().ToList(); DATA.ForEach(t => { UI UL = new UI(); UL.TIME = t.Children().ToList()[22].ToString(); UL.NAME = Properties.Settings.Default.URL + " Cancer";//Breast cancer或者Gastric Cancer add.Add(UL); Console.WriteLine("正在写入第 " + k++ + "条数据"); }); } catch { continue; } } Console.Write("初始化完成!"); for (int i = 0; i < add.Count; i++) { if (add[i].TIME.Contains("January")) { add[i].TIME = add[i].TIME.Replace("January", "1").Split(',')[1] + "-" + add[i].TIME.Replace("January", "1").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("January", "1").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("February")) { add[i].TIME = add[i].TIME.Replace("February", "2").Split(',')[1] + "-" + add[i].TIME.Replace("February", "2").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("February", "2").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("March")) { add[i].TIME = add[i].TIME.Replace("March", "3").Split(',')[1] + "-" + add[i].TIME.Replace("March", "3").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("March", "3").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("April")) { add[i].TIME = add[i].TIME.Replace("April", "4").Split(',')[1] + "-" + add[i].TIME.Replace("April", "4").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("April", "4").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("May")) { add[i].TIME = add[i].TIME.Replace("May", "5").Split(',')[1] + "-" + add[i].TIME.Replace("May", "5").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("May", "5").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("June")) { add[i].TIME = add[i].TIME.Replace("June", "6").Split(',')[1] + "-" + add[i].TIME.Replace("June", "6").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("June", "6").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("July")) { add[i].TIME = add[i].TIME.Replace("July", "7").Split(',')[1] + "-" + add[i].TIME.Replace("July", "7").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("July", "7").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("August")) { add[i].TIME = add[i].TIME.Replace("August", "8").Split(',')[1] + "-" + add[i].TIME.Replace("August", "8").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("August", "8").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("September")) { add[i].TIME = add[i].TIME.Replace("September", "9").Split(',')[1] + "-" + add[i].TIME.Replace("September", "9").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("September", "9").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("October")) { add[i].TIME = add[i].TIME.Replace("October", "10").Split(',')[1] + "-" + add[i].TIME.Replace("October", "10").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("October", "10").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("November")) { add[i].TIME = add[i].TIME.Replace("November", "11").Split(',')[1] + "-" + add[i].TIME.Replace("November", "11").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("November", "11").Split(',')[0].ToString().Split(' ')[1]; } if (add[i].TIME.Contains("December")) { add[i].TIME = add[i].TIME.Replace("December", "12").Split(',')[1] + "-" + add[i].TIME.Replace("December", "12").Split(',')[0].ToString().Split(' ')[0] + "-" + add[i].TIME.Replace("December", "12").Split(',')[0].ToString().Split(' ')[1]; } } string path = AppDomain.CurrentDomain.BaseDirectory + Properties.Settings.Default.Excel; using (FileStream fs = File.OpenRead(path)) { HSSFWorkbook workbook = new HSSFWorkbook(fs); var TotalIndex = 0; var TotalBaseIndex = 2; var CurrentIndex = TotalBaseIndex - 1; var Sheet = workbook.GetSheetAt(0); add.ToList().ForEach(t => { TIME TI = new TIME(); TI.YEAR = DateTime.Parse(t.TIME.Replace(" ", "")).Year; TI.MONTH = DateTime.Parse(t.TIME.Replace(" ", "")).Month; TI.JD = (TI.MONTH == 1 || TI.MONTH == 2 || TI.MONTH == 3) ? 1 : ((TI.MONTH == 4 || TI.MONTH == 5 || TI.MONTH == 6) ? 2 : ((TI.MONTH == 7 || TI.MONTH == 8 || TI.MONTH == 9) ? 3 : 4)); KX.Add(TI); CurrentIndex = TotalBaseIndex + TotalIndex++; Sheet.GetRow(CurrentIndex).CopyRowTo(CurrentIndex + 1); Sheet.GetRow(CurrentIndex + 1).Height = Sheet.GetRow(CurrentIndex).Height; Sheet.GetRow(CurrentIndex).Cells[0].SetCellValue(TotalIndex); Sheet.GetRow(CurrentIndex).Cells[1].SetCellValue(t.NAME); Sheet.GetRow(CurrentIndex).Cells[2].SetCellValue(t.TIME); Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("正在处理第" + TotalIndex + "条数据,总计" + add.Count + "."); }); Sheet.RemoveRow(Sheet.GetRow(++CurrentIndex)); var Path = /*AppDomain.CurrentDomain.BaseDirectory*/ @"F:\BASE\" + DateTime.Now.ToLongDateString() + Properties.Settings.Default.URL + "数据表.xls"; using (var FS = File.Create(Path)) { workbook.Write(FS); workbook.Close(); } Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("生成文件:" + Path); } string path1 = AppDomain.CurrentDomain.BaseDirectory + Properties.Settings.Default.Excel1; using (FileStream fs = File.OpenRead(path1)) { HSSFWorkbook workbook = new HSSFWorkbook(fs); var TotalIndex = 0; var TotalBaseIndex = 2; var CurrentIndex = TotalBaseIndex - 1; var Sheet = workbook.GetSheetAt(0); KX.GroupBy(X => X.YEAR).Select(T => new { YEAR = T.Key, JD = T.Key, COUNT = T.Count() }).OrderByDescending(x => x.YEAR).ToList().ForEach(t => { CurrentIndex = TotalBaseIndex + TotalIndex++; Sheet.GetRow(CurrentIndex).CopyRowTo(CurrentIndex + 1); Sheet.GetRow(CurrentIndex + 1).Height = Sheet.GetRow(CurrentIndex).Height; Sheet.GetRow(CurrentIndex).Cells[0].SetCellValue(TotalIndex); Sheet.GetRow(CurrentIndex).Cells[1].SetCellValue(Properties.Settings.Default.URL + " Cancer"); Sheet.GetRow(CurrentIndex).Cells[2].SetCellValue(t.YEAR); Sheet.GetRow(CurrentIndex).Cells[3].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[4].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[5].SetCellValue(t.COUNT); }); Sheet.RemoveRow(Sheet.GetRow(++CurrentIndex)); var Path = /*AppDomain.CurrentDomain.BaseDirectory*/ @"F:\BASE\" + DateTime.Now.ToLongDateString() + Properties.Settings.Default.URL + "年统计.xls"; using (var FS = File.Create(Path)) { workbook.Write(FS); workbook.Close(); } Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("生成统计文件:" + Path); } using (FileStream fs = File.OpenRead(path1)) { HSSFWorkbook workbook = new HSSFWorkbook(fs); var TotalIndex = 0; var TotalBaseIndex = 2; var CurrentIndex = TotalBaseIndex - 1; var Sheet = workbook.GetSheetAt(0); KX.GroupBy(X => X.JD).Select(T1 => new { JD = T1.Key, COUNT = T1.Count(), }).OrderByDescending(x => x.JD).ToList().ForEach(t => { CurrentIndex = TotalBaseIndex + TotalIndex++; Sheet.GetRow(CurrentIndex).CopyRowTo(CurrentIndex + 1); Sheet.GetRow(CurrentIndex + 1).Height = Sheet.GetRow(CurrentIndex).Height; Sheet.GetRow(CurrentIndex).Cells[0].SetCellValue(TotalIndex); Sheet.GetRow(CurrentIndex).Cells[1].SetCellValue(Properties.Settings.Default.URL + " Cancer"); Sheet.GetRow(CurrentIndex).Cells[2].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[3].SetCellValue(t.JD); Sheet.GetRow(CurrentIndex).Cells[4].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[5].SetCellValue(t.COUNT); }); Sheet.RemoveRow(Sheet.GetRow(++CurrentIndex)); var Path = /*AppDomain.CurrentDomain.BaseDirectory*/ @"F:\BASE\" + DateTime.Now.ToLongDateString() + Properties.Settings.Default.URL + "季度统计.xls"; using (var FS = File.Create(Path)) { workbook.Write(FS); workbook.Close(); } Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("生成统计文件:" + Path); } using (FileStream fs = File.OpenRead(path1)) { HSSFWorkbook workbook = new HSSFWorkbook(fs); var TotalIndex = 0; var TotalBaseIndex = 2; var CurrentIndex = TotalBaseIndex - 1; var Sheet = workbook.GetSheetAt(0); KX.GroupBy(X => X.MONTH).Select(T2 => new { MONTH = T2.Key, COUNT = T2.Count(), }).OrderByDescending(x => x.MONTH).ToList().ForEach(t => { CurrentIndex = TotalBaseIndex + TotalIndex++; Sheet.GetRow(CurrentIndex).CopyRowTo(CurrentIndex + 1); Sheet.GetRow(CurrentIndex + 1).Height = Sheet.GetRow(CurrentIndex).Height; Sheet.GetRow(CurrentIndex).Cells[0].SetCellValue(TotalIndex); Sheet.GetRow(CurrentIndex).Cells[1].SetCellValue(Properties.Settings.Default.URL + " Cancer"); Sheet.GetRow(CurrentIndex).Cells[2].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[3].SetCellValue(""); Sheet.GetRow(CurrentIndex).Cells[4].SetCellValue(t.MONTH); Sheet.GetRow(CurrentIndex).Cells[5].SetCellValue(t.COUNT); }); Sheet.RemoveRow(Sheet.GetRow(++CurrentIndex)); var Path = /*AppDomain.CurrentDomain.BaseDirectory*/ @"F:\BASE\" + DateTime.Now.ToLongDateString() + Properties.Settings.Default.URL + "月统计.xls"; using (var FS = File.Create(Path)) { workbook.Write(FS); workbook.Close(); } Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("生成统计文件:" + Path); } Console.ReadKey(); }