57 lines
2.6 KiB
C#
57 lines
2.6 KiB
C#
using OfficeOpenXml;
|
||
|
||
namespace ShrlAlgoToolkit.RevitAddins.RvIndependent.NetworkCreator
|
||
{
|
||
public class ExcelData
|
||
{
|
||
public ExcelData(ExcelWorksheet sheet)
|
||
{
|
||
DataRows = [];
|
||
var lastColumn = sheet.Dimension.End.Column;
|
||
var lastRow = sheet.Dimension.End.Row;
|
||
//不计算所有末行首列为空的行
|
||
while (sheet.Cells[lastRow, 3].Value == null)
|
||
{
|
||
lastRow--;
|
||
}
|
||
|
||
System = sheet.Cells[2, 3].Value?.ToString().Split(':').Last();
|
||
for (var i = 5; i <= lastRow; i++)
|
||
{
|
||
var edr = new ExcelDataRow
|
||
{
|
||
StartId = sheet.Cells[i, 1].Value?.ToString(), //起点节点号
|
||
Number = sheet.Cells[i, 2].Value?.ToString(), //管线点号
|
||
EndId = sheet.Cells[i, 3].Value?.ToString(), //连接点号
|
||
LayingMode = sheet.Cells[i, 4].Value?.ToString(), //埋设方式
|
||
Material = sheet.Cells[i, 5].Value?.ToString(), //管材
|
||
Size = sheet.Cells[i, 6].Value?.ToString(), //截面尺寸
|
||
Feature = sheet.Cells[i, 7].Value?.ToString(), //特征
|
||
AccessoryType = sheet.Cells[i, 8].Value?.ToString(), //节点类型
|
||
X = Convert.ToDouble(sheet.Cells[i, 9].Value),//坐标Y
|
||
Y = Convert.ToDouble(sheet.Cells[i, 10].Value),//坐标X
|
||
GroundElev = Convert.ToDouble(sheet.Cells[i, 11].Value), //地面高程
|
||
Top = Convert.ToDouble(sheet.Cells[i, 12].Value), //管顶
|
||
InnerBottom = Convert.ToDouble(sheet.Cells[i, 13].Value), //管内底
|
||
Depth = Convert.ToDouble(sheet.Cells[i, 14].Value), //埋深=地面高程-管顶/管内底:groundElev-top/innerBottom
|
||
NumberOfCablesOrHoles = sheet.Cells[i, 15].Value?.ToString(), //电缆根数或总孔数/已用孔数
|
||
ArrangementOfHoles = sheet.Cells[i, 16].Value?.ToString(), //管孔排列(行X列)
|
||
VoltageorPressure = sheet.Cells[i, 17].Value?.ToString(), //电力电压(KV)/压力
|
||
Remarks = sheet.Cells[i, 18].Value?.ToString() //备注
|
||
};
|
||
if (edr.StartId == null)
|
||
{
|
||
edr.StartId = DataRows.Last().StartId;
|
||
edr.HasManHole = false;
|
||
}
|
||
|
||
DataRows.Add(edr);
|
||
}
|
||
}
|
||
|
||
public List<ExcelDataRow> DataRows;
|
||
|
||
public string System { get; set; }
|
||
}
|
||
}
|