gpt4 book ai didi

c# - ClosedXML 添加带条件格式的工作表

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:14 25 4
gpt4 key购买 nike

我正在使用 ClosedXML 将新工作表添加到现有 Excel 文档中。它适用于普通的 Excel 文档。

但是如果 excel 文档工作表在某些单元格上包含条件格式,则会抛出错误

at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at ClosedXML.Excel.XLCFConverters.Convert(IXLConditionalFormat conditionalFormat, Int32 priority, SaveContext context)
at ClosedXML.Excel.XLWorkbook.GenerateWorksheetPartContent(WorksheetPart worksheetPart, XLWorksheet xlWorksheet, SaveContext context)
at ClosedXML.Excel.XLWorkbook.CreateParts(SpreadsheetDocument document)
at ClosedXML.Excel.XLWorkbook.CreatePackage(String filePath, SpreadsheetDocumentType spreadsheetDocumentType)
at ClosedXML.Excel.XLWorkbook.SaveAs(String file)

下面是示例代码

using (var excelDoc = new ClosedXML.Excel.XLWorkbook(strFilePath))
{
excelDoc.Worksheets.Add("New Result Sheet");
excelDoc.SaveAs(strFilePathSave);
}

请帮助解决这个问题。

最佳答案

XlsIO是一个 .NET 库,可以读写 Excel 2003/2007/2010/2013/2016 文件。使用 XlsIO,您可以非常轻松地添加/修改具有条件格式的工作表而不会出现问题。整套控件可通过 community license program 免费获得(也可用于商业应用程序)如果你符合条件。社区许可证是没有限制或水印的完整产品。

第 1 步:创建控制台应用程序

第 2 步:添加对 Syncfusion.XlsIO.Base 和 Syncfusion.Compression.Base 的引用,您也可以使用 NuGet 将这些引用添加到您的项目中。

第 3 步:复制并粘贴以下代码段。

以下代码片段说明了如何使用 XlsIO 添加具有条件格式的工作表

using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the excel application object.
IApplication application = excelEngine.Excel;

application.DefaultVersion = ExcelVersion.Excel2013;

//Open the workbook
IWorkbook workbook = application.Workbooks.Open("Input.xlsx");

(workbook.Worksheets as WorksheetsCollection).Add("NewSheet");

IWorksheet worksheet = workbook.Worksheets[1];

IConditionalFormats condition = worksheet.Range["A1"].ConditionalFormats;

IConditionalFormat condition1 = condition.AddCondition();

condition1.FormatType = ExcelCFType.CellValue;

condition1.Operator = ExcelComparisonOperator.Between;

condition1.FirstFormula = "10";

condition1.SecondFormula = "20";

condition1.BackColor = ExcelKnownColors.Red;

worksheet.Range["A1"].Number = 13;

//Save the workbook
workbook.SaveAs("AddedWorkbook.xlsx");
}

请引用实现此场景的示例,示例可以从以下位置下载。

Download Demo

有关 XlsIO 的更多信息,请参阅我们的 help documentation

注意:我为 Syncfusion 工作

关于c# - ClosedXML 添加带条件格式的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com