123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /*-------------------------------------------------------------------------
- * 功能描述:SpaceAirSupplyDocUtil
- * 作者:xulisong
- * 创建时间: 2019/4/11 17:13:35
- * 版本号:v1.0
- * -------------------------------------------------------------------------*/
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using NPOI.SS.UserModel;
- using NPOI.XSSF.UserModel;
- using SAGA.DotNetUtils.NPOI;
- namespace SAGA.GplotManage.TopologyApplication
- {
- public class SpaceAirSupplyDocUtil
- {
- /// <summary>
- /// 经计算结果保存到指定路径
- /// </summary>
- /// <param name="path"></param>
- /// <param name="results"></param>
- public static void Save(string path, List<SpaceAirSupplyResultItem> results)
- {
- var orderResults = results.OrderBy(s => s.Floor?.FloorSequenceID).ThenBy(s => s.AirVent?.Id).ToList();
- IWorkbook book = new XSSFWorkbook();
- ISheet sheet = book.CreateSheet("Sheet1");
- List<string> headNames = new List<string>() {"楼层id","楼层名称", "供风设备Id", "供风设备revitId","供风设备名称", "风口id", "风口revitId", "空间id", "空间revitId","空间名称" };
- for (int i = 0; i < headNames.Count; i++)
- {
- sheet.SetCellValue(0,i,headNames[i]);
- }
- int baseRowIndex = 1;
- int baseColumnIndex = 0;
- for (int i = 0; i < orderResults.Count; i++)
- {
- var useResult = orderResults[i];
- int useIndex = baseRowIndex + i;
- //使用++来替代原始的0,1,2,3的顺序
- int flag = 0;
- sheet.SetCellValue(useIndex, baseColumnIndex+ flag++, useResult.Floor?.Id);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.Floor?.LocalName);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.AirSupply?.Id);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.AirSupply?.RevitId);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.AirSupply?.GetDisplay());
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.AirVent?.Id);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.AirVent?.RevitId);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.Space?.Id);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.Space?.RevitId);
- sheet.SetCellValue(useIndex, baseColumnIndex + flag++, useResult.Space?.GetDisplay());
- }
- book.Save(path);
- }
- }
- }
|