コード例 #1
0
 /// <summary>
 /// 将当前设计方案集合与另一设计方案集合组合成新的设计方案集合,并更新当前设计方案集合
 /// </summary>
 /// <param name="designList">另一个设计方案集合</param>
 public void Combine(ConverterDesignList designList)
 {
     if (head == null)
     {
         head = designList.head;
         size = designList.size;
     }
     else
     {
         ConverterDesignList newList = new ConverterDesignList();
         ConverterDesignData p       = head;
         while (p != null)
         {
             ConverterDesignData q = designList.head;
             while (q != null)
             {
                 string[] configs = new string[p.Configs.Length + q.Configs.Length];
                 p.Configs.CopyTo(configs, 0);
                 q.Configs.CopyTo(configs, p.Configs.Length);
                 newList.Add(p.Efficiency + q.Efficiency - 1, p.Volume + q.Volume, p.Cost + q.Cost, configs);
                 q = q.Next;
             }
             p = p.Next;
         }
         head = newList.head;
         size = newList.size;
     }
 }
コード例 #2
0
        /// <summary>
        /// 合并另一个设计方案集合
        /// </summary>
        /// <param name="designList">另一个设计方案集合</param>
        public void Merge(ConverterDesignList designList)
        {
            ConverterDesignData now = designList.head;

            while (now != null)
            {
                Add(now.Efficiency, now.Volume, now.Cost, now.Configs);
                now = now.Next;
            }
        }
コード例 #3
0
ファイル: Data.cs プロジェクト: yufeijie/learngit
        /// <summary>
        /// 保存设计结果
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="name">文件名</param>
        /// <param name="conditionTitles">设计条件标题</param>
        /// <param name="conditions">设计条件</param>
        /// <param name="designList">设计方案</param>
        public static void Save(string path, string name, string[] conditionTitles, string[] conditions, ConverterDesignList designList)
        {
            IWorkbook workbook = new XSSFWorkbook(); //新建Excel

            //记录设计条件
            ISheet sheet = workbook.CreateSheet("Conditions"); //新建一个工作薄
            IRow   row   = sheet.CreateRow(0);                 //设计条件标题

            for (int i = 0; i < conditionTitles.Length; i++)
            {
                row.CreateCell(i).SetCellValue(conditionTitles[i]);
            }
            row = sheet.CreateRow(1); //设计条件
            for (int i = 0; i < conditions.Length; i++)
            {
                row.CreateCell(i).SetCellValue(conditions[i]);
            }

            //记录设计结果
            sheet = workbook.CreateSheet("Results"); //新建一个工作薄
            IConverterDesignData[] designs = designList.GetData();
            for (int i = 0; i < designs.Length; i++)
            {
                row = sheet.CreateRow(i);
                for (int j = 0; j < designs[i].Configs.Length; j++)
                {
                    row.CreateCell(j).SetCellValue(designs[i].Configs[j]);
                }
            }

            //检查文件夹是否存在,若不存在则创建
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            //再次检查,查看文件夹是否创建成功
            if (Directory.Exists(path))
            {
                FileStream file = new FileStream(path + name + ".xlsx", FileMode.Create);
                workbook.Write(file);
                file.Close();
            } //TODO 错误提示
            workbook.Close();
        }
コード例 #4
0
ファイル: Data.cs プロジェクト: yufeijie/learngit
 /// <summary>
 /// 保存设计结果
 /// </summary>
 /// <param name="name">文件名</param>
 /// <param name="conditionTitles">设计条件标题</param>
 /// <param name="conditions">设计条件</param>
 /// <param name="designList">设计方案</param>
 public static void Save(string name, string[] conditionTitles, string[] conditions, ConverterDesignList designList)
 {
     Save(resultPath, name + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss_fff"), conditionTitles, conditions, designList);
 }