private int m_Interval = 0; //观测周期 public DataTable ConvertExcelToDbs(string excelpath) { if (string.IsNullOrEmpty(excelpath)) return null; NpoiCreator nct = new NpoiCreator(); DirectoryInfo mydir = new DirectoryInfo(excelpath); if (mydir.GetFiles().Length > 0) { List<DataTable> dblist = new List<DataTable>(); foreach (FileSystemInfo fsi in mydir.GetFileSystemInfos()) { if (fsi is FileInfo)// { FileInfo fi = (FileInfo)fsi; if (fi.Extension.ToUpper() == ".XLS")// { dblist.Add(nct.ExportToDataTable(fi.FullName)); } } } return ExportResult(dblist); } else { return null; } }
private void wizardControl_SelectedPageChanged(object sender, DevExpress.XtraWizard.WizardPageChangedEventArgs e) { //装载原始数据 if (e.Page.Name == "calculateSHPage") { if (txtJx1.Text == "" || btnFileSz1.Text == "" || btnFileJx2.Text == "" || btnFileSz2.Text == "" || txtJj1.Text == "" || txtJj2.Text == "") { XtraMessageBox.Show("请填写完整信息再执行下一步", "提示"); return; } else { jj1 = double.Parse(txtJj1.Text) * Math.PI / 180; //转化为弧度值 jj2 = double.Parse(txtJj2.Text) * Math.PI / 180; //转化为弧度值 NpoiCreator npcreator = new NpoiCreator(); jx1Dt_orgn = npcreator.ExportToDataTable(txtJx1.Text); sz1Dt_orgn = npcreator.ExportToDataTable(txtSz1.Text); jx2Dt_orgn = npcreator.ExportToDataTable(txtJx2.Text); sz2Dt_orgn = npcreator.ExportToDataTable(txtSz2.Text); //计算基准年数据 jx1Dt_jzn = GetJznDataTable(jx1Dt_orgn); sz1Dt_jzn = GetJznDataTable(sz1Dt_orgn); jx2Dt_jzn = GetJznDataTable(jx2Dt_orgn); sz2Dt_jzn = GetJznDataTable(sz2Dt_orgn); //计算基准值 //计算ΔS1、ΔS2、ΔH1、ΔH2(基线1变化量用ΔS1表示,基线2变化量用ΔS2表示,水准1变化量用ΔH1表示,水准2变化量用ΔH2表示) jx1Dt_bhl = GetBhlDataTable(jx1Dt_orgn, jx1Dt_jzn); sz1Dt_bhl = GetBhlDataTable(sz1Dt_orgn, sz1Dt_jzn); jx2Dt_bhl = GetBhlDataTable(jx2Dt_orgn, jx2Dt_jzn); sz2Dt_bhl = GetBhlDataTable(sz2Dt_orgn, sz2Dt_jzn); gridControlS1.DataSource = jx1Dt_bhl; gridControlS2.DataSource = jx2Dt_bhl; gridControlH1.DataSource = sz1Dt_bhl; gridControlH2.DataSource = sz2Dt_bhl; } } else if (e.Page.Name == "calculateBCDPage") { db = jx1Dt_bhl.Clone(); dc = jx1Dt_bhl.Clone(); bc = jx1Dt_bhl.Clone(); for (int i = 0; i < jx1Dt_bhl.Rows.Count; i++) { double s1_v = double.Parse(jx1Dt_bhl.Rows[i][1].ToString()); double s2_v = double.Parse(jx2Dt_bhl.Rows[i][1].ToString()); double h1_v = double.Parse(sz1Dt_bhl.Rows[i][1].ToString()); double h2_v = double.Parse(sz2Dt_bhl.Rows[i][1].ToString()); double d_v = (s1_v * Math.Sin(jj2) - s2_v * Math.Sin(jj1)) / (Math.Cos(jj1) * Math.Sin(jj2) - Math.Sin(jj1) * Math.Cos(jj2)); double b_v = (s1_v - d_v * Math.Cos(jj1)) / Math.Sin(jj1); double c_v = (h1_v + h2_v) / 2; double db_v = d_v / b_v; double dc_v = d_v / c_v; double bc_v = b_v / c_v; string date = jx1Dt_bhl.Rows[i][0].ToString(); DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture); datetime.AddYears(int.Parse(date.Substring(0, 4))); DataRow db_dr = db.NewRow(); db_dr[0] = datetime.ToShortDateString(); db_dr[1] = Math.Round(db_v, 4); db.Rows.Add(db_dr); DataRow dc_dr = dc.NewRow(); dc_dr[0] = datetime.ToShortDateString(); dc_dr[1] = Math.Round(dc_v, 4); dc.Rows.Add(dc_dr); DataRow bc_dr = bc.NewRow(); bc_dr[0] = datetime.ToShortDateString(); bc_dr[1] = Math.Round(bc_v, 4); bc.Rows.Add(bc_dr); } gridControldb.DataSource = db; gridControldc.DataSource = dc; gridControlbc.DataSource = bc; } }