From 2cfcd850029733489d5afe7213bb01780e02e24d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dotnet=E7=88=B1=E5=A5=BD=E8=80=85?= Date: Thu, 17 Apr 2025 07:10:40 +0000 Subject: [PATCH 1/3] =?UTF-8?q?update=20src/MiniExcel/OpenXml/OpenXmlConfi?= =?UTF-8?q?guration.cs.=20=E5=A2=9E=E5=8A=A0=20=20EnableWriteFilePath=20?= =?UTF-8?q?=E9=BB=98=E8=AE=A4true;=20=E5=AF=BC=E5=87=BA=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E6=83=B3=E8=A6=81=E5=86=99=E5=85=A5=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E5=BE=84=E6=97=B6=E5=80=99=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dotnet爱好者 --- src/MiniExcel/OpenXml/OpenXmlConfiguration.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MiniExcel/OpenXml/OpenXmlConfiguration.cs b/src/MiniExcel/OpenXml/OpenXmlConfiguration.cs index be111b0..729e0d7 100644 --- a/src/MiniExcel/OpenXml/OpenXmlConfiguration.cs +++ b/src/MiniExcel/OpenXml/OpenXmlConfiguration.cs @@ -1,4 +1,4 @@ -using MiniExcelLibs.Attributes; +using MiniExcelLibs.Attributes; namespace MiniExcelLibs.OpenXml { @@ -19,7 +19,7 @@ public class OpenXmlConfiguration : Configuration public bool EnableSharedStringCache { get; set; } = true; public long SharedStringCacheSize { get; set; } = 5 * 1024 * 1024; public DynamicExcelSheet[] DynamicSheets { get; set; } - + public bool EnableWriteFilePath{ get; set; } = true; /// /// Calculate column widths automatically from each column value. /// -- Gitee From 6870b7c7befe9a8d441b4a3bd506ccae90d03210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dotnet=E7=88=B1=E5=A5=BD=E8=80=85?= Date: Thu, 17 Apr 2025 07:13:26 +0000 Subject: [PATCH 2/3] =?UTF-8?q?update=20src/MiniExcel/OpenXml/ExcelOpenXml?= =?UTF-8?q?SheetWriter.DefaultOpenXml.cs.=20=E6=B7=BB=E5=8A=A0=20=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=A1=AB=E5=86=99=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=EF=BC=8C=E6=96=B9=E4=BE=BF=E4=B8=8D?= =?UTF-8?q?=E6=83=B3=E8=A6=81=E8=A6=81=E5=9B=BE=E7=89=87=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E7=9A=84=E4=BA=BA=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dotnet爱好者 --- .../OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs index d990403..5495818 100644 --- a/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs +++ b/src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.DefaultOpenXml.cs @@ -1,4 +1,4 @@ -using MiniExcelLibs.Attributes; +using MiniExcelLibs.Attributes; using MiniExcelLibs.OpenXml.Constants; using MiniExcelLibs.OpenXml.Models; using MiniExcelLibs.OpenXml.Styles; @@ -215,7 +215,11 @@ private Tuple GetCellValue(int rowIndex, int cellIndex, if (type == typeof(byte[]) && _configuration.EnableConvertByteArray) { var base64 = GetFileValue(rowIndex, cellIndex, value); - return Tuple.Create("4", "str", ExcelOpenXmlUtils.EncodeXML(base64)); + if (_configuration.EnableWriteFilePath) + { + return Tuple.Create("4", "str", ExcelOpenXmlUtils.EncodeXML(base64)); + } + return Tuple.Create("4", "str", ""); } return Tuple.Create("2", "str", ExcelOpenXmlUtils.EncodeXML(value.ToString())); -- Gitee From e84c69b109afe312283dda173c3a26964860cf0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dotnet=E7=88=B1=E5=A5=BD=E8=80=85?= Date: Thu, 17 Apr 2025 07:24:44 +0000 Subject: [PATCH 3/3] =?UTF-8?q?add=20tests/MiniExcelTests/MiniExcelOpenXml?= =?UTF-8?q?ConfigurationTest.cs.=20=E9=92=88=E5=AF=B9=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=86=99=E5=85=A5=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9A=84=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dotnet爱好者 --- .../MiniExcelOpenXmlConfigurationTest.cs | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/MiniExcelTests/MiniExcelOpenXmlConfigurationTest.cs diff --git a/tests/MiniExcelTests/MiniExcelOpenXmlConfigurationTest.cs b/tests/MiniExcelTests/MiniExcelOpenXmlConfigurationTest.cs new file mode 100644 index 0000000..077ff0f --- /dev/null +++ b/tests/MiniExcelTests/MiniExcelOpenXmlConfigurationTest.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MiniExcelLibs.Attributes; +using MiniExcelLibs.OpenXml; +using MiniExcelLibs.Tests.Utils; +using Xunit; + +namespace MiniExcelLibs.Tests +{ + public class MiniExcelOpenXmlConfigurationTest + { + [Fact] + public void EnableWriteFilePathTest() + { + var img = new HttpClient().GetByteArrayAsync("https://user-images.githubusercontent.com/12729184/150462383-ad9931b3-ed8d-4221-a1d6-66f799743433.png").Result; + var value = new[] { + new ImgExportTestDto{ Name="github",Img=File.ReadAllBytes(PathHelper.GetFile("images/github_logo.png"))}, + new ImgExportTestDto{ Name="google",Img=File.ReadAllBytes(PathHelper.GetFile("images/google_logo.png"))}, + new ImgExportTestDto{ Name="microsoft",Img=File.ReadAllBytes(PathHelper.GetFile("images/microsoft_logo.png"))}, + new ImgExportTestDto{ Name="reddit",Img=File.ReadAllBytes(PathHelper.GetFile("images/reddit_logo.png"))}, + new ImgExportTestDto{ Name="statck_overflow",Img=File.ReadAllBytes(PathHelper.GetFile("images/statck_overflow_logo.png"))}, + new ImgExportTestDto{ Name="statck_over",Img=img}, + }; + var path=PathHelper.GetFile("Test_EnableWriteFilePath.xlsx"); + MiniExcel.SaveAs(path, value, configuration: new OpenXmlConfiguration() { EnableWriteFilePath=false},overwriteFile:true); + Assert.True(File.Exists(path)); + + var rows = MiniExcel.Query(path).ToList(); + Assert.True( rows.All(x => x.Img is null || x.Img.Length < 1)); + } + + + } + + class ImgExportTestDto + { + public string Name { get; set; } + [ExcelColumn(Name = "图片",Width = 100)] + public byte[] Img { get; set; } + } +} -- Gitee