using MiniExcelLibs; using Sinvo.EplanHpD.Plugin.WPFUI.Models; using Sinvo.EplanHpD.Plugin.WPFUI.Models.MultiCoreWire; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils { public class MultiCoreWireExcelHelper { public static MultiCoreWireExcelHelper Instance = new(); private Stream dataFileStream; public void ReadDataToStream() { var file = Path.Combine(Consts.PLUGIN_DATA_FILE_PATH, Consts.PLUGIN_MULTI_CORE_WIRE_FILE_NAME); if (File.Exists(file)) { var bytes = File.ReadAllBytes(file); dataFileStream = new MemoryStream(bytes); } else { throw new FileNotFoundException(file); } } public IEnumerable GetMultiCoreWireLecDatas() { if (dataFileStream == null || !dataFileStream.CanRead) { // 未初始化或是无法读取时,重试一次 ReadDataToStream(); } //var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx"; var data = MiniExcel.Query(dataFileStream,sheetName: "多芯线WPS数据配对"); //MiniExcel.Query() return data; } public ConnectorHeatShrinkMapping GetConnectorHeatShrinkMappingDatas(string connectorModel) { if (dataFileStream == null || !dataFileStream.CanRead) { // 未初始化或是无法读取时,重试一次 ReadDataToStream(); } //var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx"; var data = MiniExcel.Query(dataFileStream, sheetName: "插头对应热缩管") .FirstOrDefault(it => it.ProductName == connectorModel); //MiniExcel.Query() return data; } public WireHeatShrinkMapping GetWireHeatShrinkMappingDatas(string wireModelSpecification) { if (dataFileStream == null || !dataFileStream.CanRead) { // 未初始化或是无法读取时,重试一次 ReadDataToStream(); } //var filePath = "D:\\旧电脑文件\\Desktop\\Data\\三菱伺服HK-KT线材选型BOM表_按程序格式整理后.xlsx"; var data = MiniExcel.Query(dataFileStream, sheetName: "线材对应热缩管") .FirstOrDefault(it => it.WireModelSpecification == wireModelSpecification); //MiniExcel.Query() return data; } } }