Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }