private void button11_Click(object sender, EventArgs e) { var ofd = new OpenFileDialog(); ofd.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*"; ofd.ValidateNames = true; ofd.CheckPathExists = true; ofd.CheckFileExists = true; ofd.Multiselect = true; ofd.InitialDirectory = PathExcel; if (ofd.ShowDialog() == DialogResult.OK) { foreach (string filename in ofd.FileNames) { if (File.Exists(filename)) { string filename_excel = Path.GetFileNameWithoutExtension(filename); string firs = filename_excel.Substring(0, 1); if (firs != "A") { XFileInfo finfo = new XFileInfo(filename); DictFiles[finfo.Name] = finfo; } } } UpdateFileList(); } }
public void UpdateFileTs(XFileInfo fileinfo, TimeSpan ts) { try { var dgv = dataGridView1; dgv.Rows[fileinfo.rowindex].Cells[1].Value = $"{ts.TotalMilliseconds} ms"; } catch { } }
public void AddFileInfo(string name, XFileInfo fileInfo) { if (m_dictFileInfo.ContainsKey(name)) { Debug.LogError($"已经存在fileinfo了 {name}"); return; } m_dictFileInfo.Add(name, fileInfo); }
//创建filelist public static bool CreateFileList(string path) { if (!XUtilities.IsFolder(path) || !Directory.Exists(path)) { return(false); } var files = Directory.GetFiles(path, "*", SearchOption.AllDirectories); if (files.Length < 1) { return(false); } try { var result = new XFileList(); foreach (var file in files) { if (file.Contains(FILE_LIST_NAME)) { continue; } FileInfo sysFileInfo = new FileInfo(file); var fileInfo = new XFileInfo(); fileInfo.name = sysFileInfo.Name; fileInfo.path = file.Replace(path + "\\", string.Empty); var fileStream = sysFileInfo.OpenRead(); fileInfo.md5 = ToMD5(fileStream); fileStream.Close(); fileInfo.length = sysFileInfo.Length; result.m_dictFileInfo.Add(fileInfo.name, fileInfo); } XDebug.Log(Tag, result.ToLog()); var json = JsonUtility.ToJson(result); var filelistPath = $"{path}/{FILE_LIST_NAME}"; File.WriteAllText(filelistPath, json); return(true); } catch (Exception e) { XDebug.LogError(Tag, e.ToString()); } return(false); }
private void GetFileList(string path, EValidType ValidType) { if (Directory.Exists(path)) { foreach (string filename in Directory.GetFileSystemEntries(path)) { if (File.Exists(filename)) { string filename_excel = Path.GetFileNameWithoutExtension(filename); string firs = filename_excel.Substring(0, 1); if (firs != "A") { XFileInfo finfo = new XFileInfo(filename); finfo.ValidType = ValidType; DictFiles.Add(finfo.Name, finfo); } } } } }
public void ReadFile(XFileInfo fileinfo) { string path_excel = fileinfo.Name; var time_start = DateTime.Now; if (File.Exists(path_excel)) { FileStream fsExcel = File.OpenRead(path_excel); IWorkbook wk = new XSSFWorkbook(fsExcel); int stcount = wk.NumberOfSheets; for (int stc = 0; stc < stcount; stc++) { ISheet sheet = wk.GetSheetAt(stc); string sheetName = sheet.SheetName; string[] nodes = sheetName.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); string pagename = sheet.SheetName; string pagenamecn = sheet.SheetName; if (nodes.Length >= 2) { pagename = nodes[1]; pagenamecn = nodes[0]; } var page = new PageInfo(pagename); page.NameCn = pagenamecn; page.NameFile = Path.GetFileName(path_excel); page.ValidType = fileinfo.ValidType; IRow rowHeadC = sheet.GetRow(1); if (rowHeadC == null) { continue; } for (int k = 0; k <= rowHeadC.LastCellNum; k++) { ICell cell = rowHeadC.GetCell(k); if (cell != null) { page.HeadC.Add(cell.ToString()); } else { page.HeadC.Add(""); } } IRow rowHead = sheet.GetRow(2); if (rowHead == null) { continue; } for (int k = 0; k <= rowHead.LastCellNum; k++) { ICell cell = rowHead.GetCell(k); if (cell != null) { string strheadenum = cell.ToString(); string[] strheadenumnodes = strheadenum.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries); if (strheadenumnodes.Length >= 2) { page.Head.Add(strheadenumnodes[0]); page.HeadEnum.Add(strheadenumnodes[1]); } else { page.Head.Add(strheadenum); page.HeadEnum.Add(strheadenum); } } else { page.Head.Add(""); page.HeadEnum.Add(""); } } IRow rowTypeClient = sheet.GetRow(3); if (rowTypeClient == null) { continue; } for (int k = 0; k <= page.Head.Count; k++) { ICell cell = rowTypeClient.GetCell(k); if (cell != null) { string TypeClient = cell.ToString(); if (TypeClient == "float") { TypeClient = "double"; } page.TypeClient.Add(TypeClient); } else { page.TypeClient.Add(""); } } IRow rowTypeServer = sheet.GetRow(4); if (rowTypeServer == null) { continue; } for (int k = 0; k <= page.Head.Count; k++) { ICell cell = rowTypeServer.GetCell(k); if (cell != null) { page.TypeServer.Add(cell.ToString()); } else { page.TypeServer.Add(""); } } for (int j = 5; j <= sheet.LastRowNum; j++) { IRow row = sheet.GetRow(j); if (row == null) { continue; } if (row.GetCell(0) == null) { continue; } if (row.GetCell(0).ToString() == "") { continue; } var listrowvalue = new List <string>(); for (int k = 0; k < page.Head.Count; k++) { ICell cell = row.GetCell(k); string s_value = GetTextFromCell(cell); if (s_value == "") { s_value = "0"; } if (!string.IsNullOrEmpty(page.HeadEnum[k])) { if (DictListEnums.TryGetValue(page.HeadEnum[k], out var DictList)) { if (DictList.ContainsKey(s_value)) { s_value = DictList[s_value]; } } } listrowvalue.Add(s_value); } page.ListValue.Add(listrowvalue); } if (page.IsLegal()) { DictPages.Add(page.Name, page); } } } UpdateFileTs(fileinfo, DateTime.Now - time_start); }