gpt4 book ai didi

c# - 使用C#在Excel中更改MS Excel行颜色

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

我当前正在创建一个小程序,该程序将允许用户将数据输入到Windows窗体中。将此数据输入到表单后,将使用OleDb将其添加到Excel文档中。

我在上面的部分中没有问题,可以轻松输入数据,但是当我尝试更改Excel行的颜色时出现了我的问题。

如果行当前没有填充,我希望将行的颜色更改为红色。

我当前使用的代码:

        Excel.Application application = new Excel.Application();
Excel.Workbook workbook = application.Workbooks.Open(@"C:\Users\jhughes\Desktop\ScreenUpdate.xls");
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["DailyWork"];
Excel.Range usedRange = worksheet.UsedRange;
Excel.Range rows = usedRange.Rows;
try
{
foreach (Excel.Range row in rows)
{
if (row.Cells.EntireRow.Interior.ColorIndex = 0)
{
row.Interior.Color = System.Drawing.Color.Red;
}
}
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}


我在“ If(row.Cells.EntireRow ....)”行收到错误“无法将类型int隐式转换为bool”错误

最佳答案

我认为您没有在工作簿中添加保存并在if条件下进行更改。不知何故,默认的colorindex为-4142。经过测试,现在可以更改颜色

Excel.Application application = new Excel.Application();
Excel.Workbook workbook = application.Workbooks.Open(@"C:\Users\MyPath\Desktop\ColorBook.xls");
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["DailyWork"];
Excel.Range usedRange = worksheet.UsedRange;
Excel.Range rows = usedRange.Rows;
try
{
foreach (Excel.Range row in rows)
{
if (row.Cells.EntireRow.Interior.ColorIndex == -4142)
{
row.Interior.Color = System.Drawing.Color.Red;
}
}
workbook.Save();
workbook.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

关于c# - 使用C#在Excel中更改MS Excel行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560452/

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