gpt4 book ai didi

c# - 如何使用 NetOffice 更改 excel 行的行颜色?

转载 作者:行者123 更新时间:2023-11-30 17:01:12 26 4
gpt4 key购买 nike

我正在努力解决一个简单的问题,但我想不通。

我有一个 excel 文档,我对其进行了一些处理(使用 NetOffice API)。这工作正常,但我想在处理后更改行颜色,因此范围内的每一行在处理后应该具有相同的颜色。

我收到一个 COMException(HRESULT:0x800A03EC),代码如下:

foreach (Excel.Range row in rg)
{
//do the processing...
...
row.Interior.Color = XlRgbColor.rgbAliceBlue;
}

我还用谷歌搜索了这个 HRESULT 并试图在Open() - 通过将 readOnly 设置为 false 和 editable 以及将 corruptLoad 设置为 true 的方法。那没有工作。我还尝试将交互属性设置为 true 并以不同格式(.xls、.xlsx)保存 excel 文件,但没有任何效果。

我发现 excelfile/workbook 受到保护。所以我试着像这样取消对 ActiveWorkbook 的保护

app.ActiveWorkbook.Unprotect();

但这也出错了,抛出一个 COMException,无法分配 Workbook 对象的 unprotect-property。

我希望有人能帮助我。

提前致谢

科德尔

最佳答案

在工作簿打开时将只读参数传递给 false 并传递 excel 文件的密码。

Excel.Workbook workBook = excelApplication.Workbooks.Open(sMyExcelPath,0,
False,5,123,123,True,XlPlatform.xlWindows,"\t",False,False,0,True,1,0)

您可以使用以下代码更改 excel 行的行颜色。

Excel.Worksheet workSheet = workBook.Worksheets(1);

workSheet.Rows.Interior.Color = XlRgbColor.rgbAliceBlue;

设置边框试试下面的代码:

    workSheet.Rows.Borders(XlBordersIndex.xlInsideHorizontal).LineStyle = XlLineStyle.xlDouble;
workSheet.Rows.Borders(XlBordersIndex.xlInsideHorizontal).Weight = 4;
workSheet.Rows.Borders(XlBordersIndex.xlInsideHorizontal).Color = ToDouble(Color.Black);

以上代码更改了 Excel 工作表所有行的颜色。如果您只想更改使用的范围颜色,请尝试使用以下代码。

workSheet.UsedRange.Interior.Color = XlRgbColor.rgbAliceBlue;

设置边框试试下面的代码:

    workSheet.UsedRange.Borders(XlBordersIndex.xlInsideHorizontal).LineStyle = XlLineStyle.xlDouble;
workSheet.UsedRange.Borders(XlBordersIndex.xlInsideHorizontal).Weight = 4;
workSheet.UsedRange.Borders(XlBordersIndex.xlInsideHorizontal).Color = ToDouble(Color.Black);

关于c# - 如何使用 NetOffice 更改 excel 行的行颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281195/

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