From 4187d3518a6bfa8080558bc658e7217ddd4a54eb Mon Sep 17 00:00:00 2001 From: dingxiaowei <1213250243@qq.com> Date: Thu, 11 Aug 2022 17:45:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=BB=E5=8F=96=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0=E5=88=B0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A8=A1=E6=9D=BF=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ExcelTool/ExcelHelper.cs | 88 +++++++----------- ExcelTool/Program.cs | 3 +- .../ExcelTool.csproj.CoreCompileInputs.cache | 2 +- .../ExcelTool.csproj.FileListAbsolute.txt | 36 +++++++ .../ExcelTool.csprojAssemblyReference.cache | Bin 78313 -> 151269 bytes ExcelTool/obj/Debug/ExcelTool.exe | Bin 26624 -> 27136 bytes ExcelTool/obj/Debug/ExcelTool.pdb | Bin 58880 -> 58880 bytes 7 files changed, 73 insertions(+), 56 deletions(-) diff --git a/ExcelTool/ExcelHelper.cs b/ExcelTool/ExcelHelper.cs index 4e3d38a..c203e28 100644 --- a/ExcelTool/ExcelHelper.cs +++ b/ExcelTool/ExcelHelper.cs @@ -11,52 +11,6 @@ namespace ExcelTool { public class ExcelHelper { - //static DataTable ReadFromExcelFile(string filePath) - //{ - // DataTable dt = new DataTable(); - // IWorkbook wk = null; - // string extension = Path.GetExtension(filePath); - // try - // { - // FileStream fs = File.OpenRead(filePath); - // //if (extension.Equals(".xls")) - // //{ - // // //把xls文件中的数据写入wk中 - // // wk = new HSSFWorkbook(fs); - // //} - // //else - // //{ - // if (extension.Equals(".xlsx")) //这里只考虑xlsx的情况 - // //把xlsx文件中的数据写入wk中 - // wk = new XSSFWorkbook(fs); - // //} - - // fs.Close(); - // fs.Dispose(); - // ISheet sheet = wk.GetSheetAt(0); - // IRow row = sheet.GetRow(0); //读取当前行数据 - // //LastRowNum 是当前表的总行数-1(注意) - // for (int i = 0; i <= sheet.LastRowNum; i++) - // { - // row = sheet.GetRow(i); - // if (row != null) - // { - // for (int j = 0; j < row.LastCellNum; j++) - // { - // string value = row.GetCell(j).ToString(); - // Console.Write(value.ToString() + " "); - // } - // Console.WriteLine("\n"); - // } - // } - // return dt; - // } - // catch (Exception e) - // { - // ConsoleHelper.WriteErrorLine(e.Message); - // } - //} - static DataTable ExcelHeader(string fileName) { try @@ -83,6 +37,18 @@ namespace ExcelTool dt.Columns.Add(dc); } } + row = sheet.GetRow(1);//读取注释 + if (row != null) + { + DataRow dr = dt.NewRow(); + for (int j = 0; j < row.LastCellNum; j++) + { + var cellValue = row.GetCell(j); + string cellValueStr = cellValue == null ? "" : cellValue.ToString(); + dr[j] = cellValueStr; + } + dt.Rows.Add(dr); + } fs.Close(); fs.Dispose(); return dt; @@ -108,6 +74,11 @@ namespace ExcelTool IRow row = sheet.GetRow(0); //读取当前第一行的数据 for (int j = 0; j < row.LastCellNum; j++) { + var cellValue = row.GetCell(j); + if (cellValue == null) + { + throw new Exception($"文件:{fileName}第一行存在空类型配置,请检查"); + } string value = row.GetCell(j).ToString().Replace(" ", "").Replace("\"", ""); var array = value.Split(','); if (array.Length != 2) @@ -124,7 +95,7 @@ namespace ExcelTool for (int i = 2; i <= sheet.LastRowNum; i++) { row = sheet.GetRow(i); - DataRow dr = dt.NewRow(); + var dr = dt.NewRow(); for (int j = 0; j < row.LastCellNum; j++) { var cellValue = row.GetCell(j); @@ -169,7 +140,6 @@ namespace ExcelTool datas.Add(t); } } - var binaryFilePath = Path.Combine(fileInfo.DirectoryName, $"{excelName}.bytes"); FileManager.WriteBinaryDatasToFile(binaryFilePath, datas); return true; @@ -194,6 +164,15 @@ namespace ExcelTool var excelName = fileInfo.Name.Remove(fileInfo.Name.IndexOf(".xlsx")); var dt = ExcelHeader(fileName); var headers = dt.Headers(); + List notesStr = new List(); + if (dt.Rows != null && dt.Rows.Count > 0) + { + var notes = dt.Rows[0]; + for (int i = 0; i < dt.Columns.Count; i++) + { + notesStr.Add(notes[i].ToString()); + } + } //前面是字段,后面是类型 vector是3个float [1.1,2.2,3.3] //foreach (var header in headers) //{ @@ -205,20 +184,23 @@ namespace ExcelTool sb.Append("[Serializable]\n"); sb.Append($"public class {excelName} : IBinarySerializable\n"); sb.Append("{\n"); - foreach (var header in headers) + for (int i = 0; i < headers.Count; i++) { - var type = header.Item2.ToLower(); + sb.Append($"\t/// \n"); + sb.Append($"\t/// {notesStr[i]}\n"); + sb.Append($"\t/// \n"); + var type = headers[i].Item2.ToLower(); if (type.Equals("vector")) { - sb.Append(string.Format("\tpublic List {0}", header.Item1)); + sb.Append(string.Format("\tpublic List {0}", headers[i].Item1)); } else if (type.Equals("list")) { - sb.Append(string.Format("\tpublic List> {0}", header.Item1)); + sb.Append(string.Format("\tpublic List> {0}", headers[i].Item1)); } else { - sb.Append(string.Format("\tpublic {0} {1}", header.Item2.ToLower(), header.Item1)); + sb.Append(string.Format("\tpublic {0} {1}", headers[i].Item2.ToLower(), headers[i].Item1)); } sb.Append(" { get; set; }\n"); } diff --git a/ExcelTool/Program.cs b/ExcelTool/Program.cs index fac6e4b..2f41183 100644 --- a/ExcelTool/Program.cs +++ b/ExcelTool/Program.cs @@ -1,5 +1,4 @@ -using Spire.Xls; -using System; +using System; using System.Collections.Generic; using System.IO; diff --git a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache index 937249f..98c577d 100644 --- a/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache +++ b/ExcelTool/obj/Debug/ExcelTool.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e8f99ac55eff58f68485e1025b84f8bc7ff8a4e9 +3770a330c7ef4b58251471e824d29ae88622bbc0 diff --git a/ExcelTool/obj/Debug/ExcelTool.csproj.FileListAbsolute.txt b/ExcelTool/obj/Debug/ExcelTool.csproj.FileListAbsolute.txt index 4fdf314..7bd398e 100644 --- a/ExcelTool/obj/Debug/ExcelTool.csproj.FileListAbsolute.txt +++ b/ExcelTool/obj/Debug/ExcelTool.csproj.FileListAbsolute.txt @@ -16,3 +16,39 @@ C:\Users\d00605132\Desktop\ExcelTool\ExcelTool\bin\Debug\NPOI.dll C:\Users\d00605132\Desktop\ExcelTool\ExcelTool\bin\Debug\NPOI.OOXML.dll C:\Users\d00605132\Desktop\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXml4Net.dll C:\Users\d00605132\Desktop\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXmlFormats.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\ExcelTool.exe.config +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\ExcelTool.exe +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\ExcelTool.pdb +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\ICSharpCode.SharpZipLib.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\NPOI.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\NPOI.OOXML.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXml4Net.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXmlFormats.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\Spire.Pdf.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\Spire.XLS.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\Microsoft.mshtml.dll +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\Spire.Pdf.xml +D:\Work\CodeHubG\ExcelTool\ExcelTool\bin\Debug\Spire.XLS.xml +D:\Work\CodeHubG\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csprojAssemblyReference.cache +D:\Work\CodeHubG\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csproj.CoreCompileInputs.cache +D:\Work\CodeHubG\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csproj.CopyComplete +D:\Work\CodeHubG\ExcelTool\ExcelTool\obj\Debug\ExcelTool.exe +D:\Work\CodeHubG\ExcelTool\ExcelTool\obj\Debug\ExcelTool.pdb +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\ExcelTool.exe.config +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\ExcelTool.exe +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\ExcelTool.pdb +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\ICSharpCode.SharpZipLib.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\NPOI.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\NPOI.OOXML.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXml4Net.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\NPOI.OpenXmlFormats.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\Spire.Pdf.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\Spire.XLS.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\Microsoft.mshtml.dll +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\Spire.Pdf.xml +D:\Study\github\ExcelTool\ExcelTool\bin\Debug\Spire.XLS.xml +D:\Study\github\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csprojAssemblyReference.cache +D:\Study\github\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csproj.CoreCompileInputs.cache +D:\Study\github\ExcelTool\ExcelTool\obj\Debug\ExcelTool.csproj.CopyComplete +D:\Study\github\ExcelTool\ExcelTool\obj\Debug\ExcelTool.exe +D:\Study\github\ExcelTool\ExcelTool\obj\Debug\ExcelTool.pdb diff --git a/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache b/ExcelTool/obj/Debug/ExcelTool.csprojAssemblyReference.cache index f7be66113c780e9be0e86780c8853acb459e7aa6..fd8afd2f34351de6620dad957c80c30fd66ce156 100644 GIT binary patch literal 151269 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 D{pNPl diff --git a/ExcelTool/obj/Debug/ExcelTool.pdb b/ExcelTool/obj/Debug/ExcelTool.pdb index 730c29fff0b794561b9d37cbac5130168888385a..bfde5508fbb5f24c0f2182cd1d96d8e873699b57 100644 GIT binary patch delta 9672 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 X#AFAVN|;6{C*0sxW;^tTs~-Oa(8c?B delta 8985 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 bDkqhZ{?nRP