首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpreadsheetGear动态设置背景色

SpreadsheetGear动态设置背景色
EN

Stack Overflow用户
提问于 2022-08-17 15:03:14
回答 1查看 43关注 0票数 0

我有一个带有SpreadsheetGear组件的excel报表,并从dataTable获取数据。其中一列为真/假。我想动态地为我的细胞设置背景颜色,如果我的数据是真的,背景颜色必须是红色,如果是假的,则颜色必须是黄色。

代码语言:javascript
复制
string fileName = @"C:\Temp\1.xlsx";
          
// Create a new workbook and worksheet.
SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"];
worksheet.Name = "Spice Order";

// Get the top left cell for the DataTable.
SpreadsheetGear.IRange range = worksheet.Cells["A1"];

// Copy the DataTable to the worksheet range.
range.CopyFromDataTable(parentDataTable, SpreadsheetGear.Data.SetDataFlags.None);

// Auto size all worksheet columns which contain data
worksheet.UsedRange.Columns.AutoFit();
worksheet.SaveAs(fileName, FileFormat.OpenXMLWorkbook);
EN

回答 1

Stack Overflow用户

发布于 2022-08-17 16:00:10

您的示例代码没有真正的帮助,因为它没有提供足够的上下文。例如,我们不知道"1.xlsx“中的内容,因此也不知道目标工作表中的真/假值可能在哪里。

下面是一个从头开始但更完整的示例,演示如何使用Excel的条件格式功能根据每个单元格的当前值更改给定范围的背景/内部颜色。这样,您就可以在应用范围内只设置一次规则,然后让它们处理格式问题,如果您或用户沿途更新单元格值,格式化也会自动更改。

有关更多细节,请参见文档,如

示例:

代码语言:javascript
复制
using SpreadsheetGear;
...

// Create a workbook with A1:A10 filled with alternating TRUE / FALSE values.
IWorkbook workbook = Factory.GetWorkbook();
IWorksheet worksheet = workbook.ActiveWorksheet;
IRange cells = worksheet.Cells;
for (int i = 0; i < 10; i++)
    cells[i, 0].Value = i % 2 == 0;

// Add a Conditional Format on A1:A10 that formats TRUE values with a red background.
var trueRule = cells["A1:A10"].FormatConditions.Add(FormatConditionType.CellValue, 
    FormatConditionOperator.Equal, "=TRUE", null);
trueRule.Interior.Color = SpreadsheetGear.Colors.Red;

// Add a second that formats FALSE values in yellow.
var falseRule = cells["A1:A10"].FormatConditions.Add(FormatConditionType.CellValue, 
    FormatConditionOperator.Equal, "=FALSE", null);
falseRule.Interior.Color = SpreadsheetGear.Colors.Yellow;

输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73390800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档