57 lines
2.6 KiB
C#
57 lines
2.6 KiB
C#
|
|
using OfficeOpenXml;
|
|||
|
|
|
|||
|
|
namespace Sai.RvKits.RvIndependent
|
|||
|
|
{
|
|||
|
|
public class ExcelData
|
|||
|
|
{
|
|||
|
|
public ExcelData(ExcelWorksheet sheet)
|
|||
|
|
{
|
|||
|
|
DataRows = new List<ExcelDataRow>();
|
|||
|
|
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(), //埋设s方式
|
|||
|
|
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 = Convert.ToDouble(sheet.Cells[i, 10].Value),
|
|||
|
|
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; }
|
|||
|
|
}
|
|||
|
|
}
|