Weben_CMS专用代码生成器/Code/App.config | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Const/TemplateConst.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/File/ExcelTemplateFile/CommonTemplate.xlsx | 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/MainForm.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/Utility/ImportTemplteHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Weben_CMS专用代码生成器/Code/packages.config | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/App.config
@@ -22,6 +22,30 @@ <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration> Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Const/TemplateConst.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ using System; namespace GenerateCode_WeiBen_WMS.Const { public class TemplateConst { /// <summary> /// çæå¯¼å ¥æ¨¡æ¿çExcelæä»¶è·¯å¾(å ¬å ±) /// </summary> public static string EXCEL_TEMPLATEFILE_å¯¼å ¥æ¨¡çè·¯å¾ = AppDomain.CurrentDomain.BaseDirectory + @"\File\ExcelTemplateFile"; public static string EXCEL_TEMPLATEFILE_å¯¼å ¥æ¨¡çåç§°åç¼ = "å¯¼åºæ¨¡æ¿"; } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/File/ExcelTemplateFile/CommonTemplate.xlsxBinary files differ
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/GenerateCode_WeiBen_CMS.csproj
@@ -28,6 +28,8 @@ <UseApplicationTrust>false</UseApplicationTrust> <BootstrapperEnabled>true</BootstrapperEnabled> <TargetFrameworkProfile /> <NuGetPackageImportStamp> </NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PlatformTarget>x86</PlatformTarget> @@ -54,14 +56,47 @@ <ApplicationIcon>Robot.ico</ApplicationIcon> </PropertyGroup> <ItemGroup> <Reference Include="EPPlus.Interfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=a694d7f3b0907a61, processorArchitecture=MSIL"> <HintPath>packages\EPPlus.Interfaces.8.0.0\lib\net462\EPPlus.Interfaces.dll</HintPath> </Reference> <Reference Include="Magicodes.IE.EPPlus, Version=2.7.5.2, Culture=neutral, processorArchitecture=MSIL"> <HintPath>packages\Magicodes.IE.EPPlus.2.7.5.2\lib\netstandard2.0\Magicodes.IE.EPPlus.dll</HintPath> </Reference> <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Configuration, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Configuration.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Configuration.Abstractions.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Configuration.FileExtensions, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Configuration.FileExtensions.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.FileExtensions.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Configuration.Json, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Configuration.Json.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Json.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.FileProviders.Abstractions, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.FileProviders.Abstractions.3.1.0\lib\netstandard2.0\Microsoft.Extensions.FileProviders.Abstractions.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.FileProviders.Physical, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.FileProviders.Physical.3.1.0\lib\netstandard2.0\Microsoft.Extensions.FileProviders.Physical.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.FileSystemGlobbing, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.FileSystemGlobbing.3.1.0\lib\netstandard2.0\Microsoft.Extensions.FileSystemGlobbing.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Logging.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath> </Reference> <Reference Include="Microsoft.Extensions.Primitives, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.Extensions.Primitives.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath> </Reference> <Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>packages\Microsoft.IO.RecyclableMemoryStream.3.0.1\lib\netstandard2.0\Microsoft.IO.RecyclableMemoryStream.dll</HintPath> </Reference> <Reference Include="MySqlConnector, Version=2.0.0.0, Culture=neutral, PublicKeyToken=d33d3e53aa5f8c92, processorArchitecture=MSIL"> <HintPath>packages\MySqlConnector.2.4.0\lib\net48\MySqlConnector.dll</HintPath> @@ -69,14 +104,31 @@ <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="PresentationCore" /> <Reference Include="SixLabors.ImageSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d998eea7b14cab13, processorArchitecture=MSIL"> <HintPath>packages\SixLabors.ImageSharp.1.0.4\lib\net472\SixLabors.ImageSharp.dll</HintPath> </Reference> <Reference Include="SkiaSharp, Version=2.88.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756, processorArchitecture=MSIL"> <HintPath>packages\SkiaSharp.2.88.6\lib\net462\SkiaSharp.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath> </Reference> <Reference Include="System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.ComponentModel.Annotations.5.0.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath> </Reference> <Reference Include="System.ComponentModel.Composition" /> <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.configuration" /> <Reference Include="System.Core" /> <Reference Include="System.Diagnostics.DiagnosticSource, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath> </Reference> <Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath> @@ -85,13 +137,57 @@ <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath> </Reference> <Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath> </Reference> <Reference Include="System.Security" /> <Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Security.Cryptography.Pkcs, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.Pkcs.4.7.0\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath> </Reference> <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath> <Private>True</Private> <Private>True</Private> </Reference> <Reference Include="System.Security.Cryptography.Xml, Version=8.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Security.Cryptography.Xml.8.0.2\lib\net462\System.Security.Cryptography.Xml.dll</HintPath> </Reference> <Reference Include="System.Text.Encoding.CodePages, Version=4.1.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>packages\System.Text.Encoding.CodePages.4.7.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath> </Reference> <Reference Include="System.Text.Encodings.Web, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Text.Encodings.Web.4.7.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath> </Reference> <Reference Include="System.Text.Json, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Text.Json.4.7.0\lib\net461\System.Text.Json.dll</HintPath> </Reference> <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath> </Reference> <Reference Include="System.Transactions" /> <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <HintPath>packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath> </Reference> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data" /> @@ -102,6 +198,7 @@ </ItemGroup> <ItemGroup> <Compile Include="Const\SystemConst.cs" /> <Compile Include="Const\TemplateConst.cs" /> <Compile Include="DataBaseFactory\DataBaseServiceHandle.cs" /> <Compile Include="DataBaseFactory\DataBaseServiceFactory.cs" /> <Compile Include="DataBaseFactory\Default\SqlServerDataBaseServiceHandle.cs" /> @@ -163,6 +260,7 @@ <Compile Include="Generate\Model_Generate.cs" /> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Utility\ImportTemplteHelper.cs" /> <Compile Include="Utility\ListHelper.cs" /> <Compile Include="Utility\MySqlHelper.cs" /> <Compile Include="Utility\SQLHelper.cs" /> @@ -188,6 +286,9 @@ <DependentUpon>MainForm.cs</DependentUpon> </EmbeddedResource> <None Include="App.config" /> <None Include="File\ExcelTemplateFile\CommonTemplate.xlsx"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </None> <None Include="packages.config" /> <None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> @@ -378,6 +479,15 @@ </ItemGroup> <ItemGroup /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="packages\SkiaSharp.NativeAssets.macOS.2.88.6\build\net462\SkiaSharp.NativeAssets.macOS.targets" Condition="Exists('packages\SkiaSharp.NativeAssets.macOS.2.88.6\build\net462\SkiaSharp.NativeAssets.macOS.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>è¿å°è®¡ç®æºä¸ç¼ºå°æ¤é¡¹ç®å¼ç¨ç NuGet ç¨åºå ã使ç¨âNuGet ç¨åºå è¿åâå¯ä¸è½½è¿äºç¨åºå ãæå ³æ´å¤ä¿¡æ¯ï¼è¯·åè§ http://go.microsoft.com/fwlink/?LinkID=322105ã缺å°çæä»¶æ¯ {0}ã</ErrorText> </PropertyGroup> <Error Condition="!Exists('packages\SkiaSharp.NativeAssets.macOS.2.88.6\build\net462\SkiaSharp.NativeAssets.macOS.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\SkiaSharp.NativeAssets.macOS.2.88.6\build\net462\SkiaSharp.NativeAssets.macOS.targets'))" /> <Error Condition="!Exists('packages\SkiaSharp.NativeAssets.Win32.2.88.6\build\net462\SkiaSharp.NativeAssets.Win32.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\SkiaSharp.NativeAssets.Win32.2.88.6\build\net462\SkiaSharp.NativeAssets.Win32.targets'))" /> </Target> <Import Project="packages\SkiaSharp.NativeAssets.Win32.2.88.6\build\net462\SkiaSharp.NativeAssets.Win32.targets" Condition="Exists('packages\SkiaSharp.NativeAssets.Win32.2.88.6\build\net462\SkiaSharp.NativeAssets.Win32.targets')" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -8,6 +8,7 @@ using GenerateCode_WeiBen_WMS.DataBaseFactory; using GenerateCode_WeiBen_WMS.Const; using GenerateCode_WeiBen_WMS.Model; using GenerateCode_WeiBen_WMS.Utility; namespace GenerateCode_GEBrilliantFactory { @@ -270,7 +271,7 @@ //çæModel //CreateModelFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); //CreateModelParamFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); genCodeRootPath = tbPath.Text + @"\" + tb_WCF_NameSpacePath.Text.Trim(); genCodeRootPath = tbPath.Text + @"\" + tb_WCF_NameSpacePath.Text.Trim(); var webFolerPath = (tb_WCF_NameSpacePath.Text.Trim() + "_Web").ToLower(); #region å®ä½ç±» var entityFilePath = genCodeRootPath + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(); @@ -461,6 +462,9 @@ str_generate = AutoMapperProfile_Generate.CreateText(param); tf = TextHelper.Export2File_V2(autoMapFilePath, param.EntityName + $"AutoMapperProfile.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); //37ãçæ å¯¼åºæ¨¡æ¿Excelæä»¶ List<ColumnModel> newColumnNameList = ListHelper.RemoveForPageTableListQueryAttributes(param.ColumnNameList); ImportTemplteHelper.CreateImportTemplte(param, newColumnNameList, genCodeRootPath); ////çæ OutputModel æä»¶ Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/ImportTemplteHelper.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,204 @@ using GenerateCode_GEBrilliantFactory; using GenerateCode_WeiBen_WMS.Const; using GenerateCode_WeiBen_WMS.Model; using OfficeOpenXml; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GenerateCode_WeiBen_WMS.Utility { public class ImportTemplteHelper { /// <summary> /// æ ¹æ®è¡¨ååå»ºå¯¼å ¥æ¨¡ç /// </summary> /// <param name="input"></param> public static void CreateImportTemplte(GenerateCodeParam input, List<ColumnModel> tableFieldList, string genCodeRootPath) { string errMsg = string.Empty; //ä¸å¡å string _busName = input.EntityName; var copayPath = TemplateConst.EXCEL_TEMPLATEFILE_å¯¼å ¥æ¨¡çè·¯å¾ + "\\CommonTemplate.xlsx"; var fileFolderPath = genCodeRootPath + "\\server\\src\\CMS.Plugin." + input.NameSpacePath + "\\Resources\\Templates"; if (!Directory.Exists(fileFolderPath)) { Directory.CreateDirectory(fileFolderPath); } string newPath = fileFolderPath + $"\\{_busName}{TemplateConst.EXCEL_TEMPLATEFILE_å¯¼å ¥æ¨¡çåç§°åç¼}.xlsx"; CreatExcel(tableFieldList, copayPath, newPath); } /// <summary> /// æ ¹æ®å®ä½ç±»å çæå¯¼å ¥excel模ç /// </summary> /// <param name="tableFieldList">代ç çæéæ©é 置表çåæ®µ</param> /// <param name="copayPath"></param> /// <param name="newPath"></param> private static void CreatExcel(List<ColumnModel> tableFieldList, string copayPath, string newPath) { string errMsg = string.Empty; try { #region éªè¯åå§å¯¼å ¥æ¨¡æ¿æä»¶æ¯å¦åå¨ if (!File.Exists(copayPath)) { errMsg = $"ç¨æ¥å¤å¶çææ¨¡ççEXCELæä»¶ä¸åå¨"; throw new Exception($"çæå¯¼å ¥æ¨¡çæä»¶å¼å¸¸ï¼{errMsg}"); } #endregion //è·åæ¨¡æ¿æä»¶ FileInfo copyFile = new FileInfo(copayPath); // æ£æ¥æ°çæçå¯¼å ¥æ¨¡çæä»¶æ¯å¦åå¨ï¼åå¨å°±å é¤ï¼ä»¥é¿å å¯è½çå¼å¸¸ã if (File.Exists(newPath)) { File.Delete(newPath); // å 餿件 } //å¤å¶åå§å¯¼å ¥æ¨¡çï¼å建æ°çå¯¼å ¥æ¨¡çæä»¶ copyFile.CopyTo(newPath, true); FileInfo existingFile = new FileInfo(newPath); using (ExcelPackage package = new ExcelPackage(existingFile)) { //è·å模æ¿å 容 ExcelWorksheet worksheet = package.Workbook.Worksheets[0];//è·å第ä¸ä¸ªworksheet //è¡åå齿¯ä»1å¼å§ï¼è䏿¯ä»0å¼å§ï¼ï¼ï¼ int _remarkRowIndex = 1;//worksheet è¡ç´¢å¼ï¼è¯´æï¼ 注æï¼é»è®¤æ¯ç¬¬ä¸è¡æ¯å¯¼å ¥æ¨¡çç说æ int _mergeRowCount = _remarkRowIndex;//åå¹¶è¡ ï¼å¿ å¡«åæ®µæ°éï¼ é»è®¤æ¯ç¬¬ä¸è¡åå¹¶ int _titleRowIndex = 1;//worksheet è¡ç´¢å¼ï¼æ é¢ï¼æ³¨æï¼é»è®¤æ¯ç¬¬ä¸è¡æ¯å¯¼å ¥æ¨¡ççæ é¢ int _cellIndex = 1;//worksheet åç´¢å¼ æ³¨æï¼é»è®¤æ¯ç¬¬ä¸åå¼å§è®¾ç½®å¯¼å ¥æ¨¡ççæ é¢ //模ç第ä¸åä½ä¸ºæ¨¡ç使ç¨ï¼æææ°å¢çåæ ·å¼æ¥éä¸è´ var templateCell = worksheet.Cells[_titleRowIndex, _cellIndex]; string _remark = string.Empty; //第ä¸è¡æ·»å 说æï¼æ³¨ææ¢è¡ã //è·åè¦å¤çç代ç çæé ç½®çæ¯å¢æ¹ç模çåæ®µ var showCodeGenConfigs = tableFieldList.Where(w => 1 == 1).ToList(); showCodeGenConfigs = showCodeGenConfigs.Where(x => 1 == 1).ToList(); /* int _mergeCellsCount = showCodeGenConfigs.Count();//åå¹¶åï¼æ¨¡çèµå¼çæ é¢åæ°ï¼ //è·åå¿ å¡«åæ®µ //å建模ç说æ StringBuilder _remarkContentBuilder = GetParseTemplateHint(showCodeGenConfigs); string _remarkContent = _remarkContentBuilder.ToString(); #region åå¹¶åå æ ¼ //åå¹¶åå æ ¼ï¼åå¹¶è¡ååãé»è®¤æ¯å并第ä¸è¡çæææ é¢å var cellRange = worksheet.Cells[1, 1, _mergeRowCount, _mergeCellsCount]; cellRange.Value = _remarkContent;//åå¹¶åå æ ¼åçå 容èµå¼ var mergeCell = cellRange.Merge = true;//åå¹¶ int rowHeight = GetRowHeightBasedOnContent(showCodeGenConfigs.Count()); // æ ¹æ®å 容计ç®è¡é«ï¼è¿ééè¦ä½ èªå·±å®ç°é»è¾ï¼ worksheet.Row(_remarkRowIndex).Height = rowHeight; // 设置è¡é«ï¼æ³¨æEPPlusçåä½ä¸åï¼éè¦è½¬æ¢ #endregion //*/ //循ç¯åå»ºæ¨¡çæ é¢å foreach (var item in showCodeGenConfigs) { var currentCell = worksheet.Cells[_titleRowIndex, _cellIndex]; //ç»æ°æ¨¡çåæ é¢èµå¼ currentCell.Value = item.Description; //å¤å¶æ·è´çexcel模çåï¼ç»æ°æ¨¡çåæ ·å¼èµå¼ currentCell.StyleID = templateCell.StyleID; // worksheet.Column(_cellIndex).AutoFit();//宽度èªéåº //ç»ç¬¬äºè¡èµå¼ var currentCell2 = worksheet.Cells[2, _cellIndex]; //ç»æ°æ¨¡çåæ é¢èµå¼ currentCell2.Value = "{{é ç½®." + item.ColumnName + "}}"; //å¤å¶æ·è´çexcel模çåï¼ç»æ°æ¨¡çåæ ·å¼èµå¼ currentCell2.StyleID = templateCell.StyleID; // worksheet.Column(_cellIndex).AutoFit();//宽度èªéåº _cellIndex++; } package.Save();//ä¿å } } catch (Exception ex) { throw new Exception($"çæå¯¼å ¥æ¨¡çæä»¶å¼å¸¸ï¼è¯·æ¥çç³»ç»æ¥å¿:" + ex.Message); } finally { } } // è¿éæ¯ä¸ä¸ªåè®¾çæ¹æ³ï¼ç¨äºæ ¹æ®åå æ ¼å 容计ç®è¡é«ãä½ éè¦æ ¹æ®å®é æ 嵿¥å®ç°è¿ä¸ªé»è¾ã private static int GetRowHeightBasedOnContent(int lineCount) { // è¿éåªæ¯ä¸ä¸ªç¤ºä¾é»è¾ï¼ä½ å¯è½éè¦æ´å¤æçç®æ³æ¥å³å®åéçè¡é«ã return (lineCount + 3) * 20; // } private static StringBuilder GetParseTemplateHint(List<ColumnModel> requiredTableFieldList) { StringBuilder _remarkContentBuilder = new StringBuilder(); _remarkContentBuilder.AppendLine(""); _remarkContentBuilder.AppendLine("1.æ¯æExcel2007å以ä¸çæ¬æä»¶ã"); _remarkContentBuilder.AppendLine("2.å¯¼å ¥æ°æ®æ¶ä¸è½è¶ è¿5000è¡ã"); _remarkContentBuilder.AppendLine(""); _remarkContentBuilder.AppendLine(""); Dictionary<string, string> typeNameDict = new Dictionary<string, string>() { { "string", "è¾å ¥ææ¬ã"}, { "int", "è¾å ¥æ°åã"}, { "long", "è¾å ¥æ°åã"}, { "decimal", "è¾å ¥å°æ°ã"}, { "bool", "æ¯,å¦ã"}, }; Dictionary<string, string> effectTypeDict = new Dictionary<string, string>() { { "datepicker", "æ¥æã 示ä¾: 2023/3/1ã"}, { "datetimepicker", "æ¥ææ¶é´ã示ä¾: 2023/3/1 12:00:00ã"}, }; requiredTableFieldList.ForEach(x => { string text = ""; text += x.Description + "(" + (x.IsNullable ? "å¿ å¡«" : "éå¿ å¡«") + "): "; var _dataType = x.DataType.Replace("?", "").ToLower(); //if (effectTypeDict.ContainsKey(x.EffectType.ToLower())) //{ // text += effectTypeDict[x.EffectType.ToLower()]; //} //else if (x.EffectType.ToLower() == "enumselector") //{//注æï¼è¿ä¸ªå¤æè¦æ¾å¨å¤æ_dataTypeåé¢ï¼ä¸»è¦æ¯èèæä¸¾åintç±»åçæ··æ· // var queryValue = x.NetType.Split('.').Last(); // var enumStr = _sysEnumService.GetEnumDataListStr(new EnumDataInput() { EnumName = queryValue }); // text += enumStr + "ã"; //} if (typeNameDict.ContainsKey(_dataType)) { text += typeNameDict[_dataType]; } else { text += ("注æï¼ç±»åæªè½è¯å«åºæ¥ï¼éè¦èªå·±ç»´æ¤ï¼ï¼ï¼ã"); } _remarkContentBuilder.AppendLine(text); }); return _remarkContentBuilder; } } } Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/packages.config
@@ -1,14 +1,42 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EPPlus.Interfaces" version="8.0.0" targetFramework="net48" /> <package id="Magicodes.IE.EPPlus" version="2.7.5.2" targetFramework="net48" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.FileExtensions" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Json" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.2" targetFramework="net48" /> <package id="Microsoft.Extensions.FileProviders.Abstractions" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.FileProviders.Physical" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.FileSystemGlobbing" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="8.0.2" targetFramework="net48" /> <package id="Microsoft.Extensions.Primitives" version="3.1.0" targetFramework="net48" /> <package id="Microsoft.IO.RecyclableMemoryStream" version="3.0.1" targetFramework="net48" /> <package id="MySqlConnector" version="2.4.0" targetFramework="net48" /> <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net451" /> <package id="SixLabors.ImageSharp" version="1.0.4" targetFramework="net48" /> <package id="SkiaSharp" version="2.88.6" targetFramework="net48" /> <package id="SkiaSharp.NativeAssets.macOS" version="2.88.6" targetFramework="net48" /> <package id="SkiaSharp.NativeAssets.Win32" version="2.88.6" targetFramework="net48" /> <package id="System.Buffers" version="4.5.1" targetFramework="net48" /> <package id="System.ComponentModel.Annotations" version="5.0.0" targetFramework="net48" /> <package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net48" /> <package id="System.IO" version="4.3.0" targetFramework="net48" /> <package id="System.Memory" version="4.5.5" targetFramework="net48" /> <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" /> <package id="System.Runtime" version="4.3.0" targetFramework="net48" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Pkcs" version="4.7.0" targetFramework="net48" /> <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net48" /> <package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net48" /> <package id="System.Security.Cryptography.Xml" version="8.0.2" targetFramework="net48" /> <package id="System.Text.Encoding.CodePages" version="4.7.0" targetFramework="net48" /> <package id="System.Text.Encodings.Web" version="4.7.0" targetFramework="net48" /> <package id="System.Text.Json" version="4.7.0" targetFramework="net48" /> <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" /> <package id="System.ValueTuple" version="4.5.0" targetFramework="net48" /> </packages>