Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在excel上以编程方式隐藏列并再次填充时出错_C#_Excel_Excel Interop - Fatal编程技术网

C# 在excel上以编程方式隐藏列并再次填充时出错

C# 在excel上以编程方式隐藏列并再次填充时出错,c#,excel,excel-interop,C#,Excel,Excel Interop,我正在开发一个Excel加载项,用网页上的信息填充一张表格 有一个按钮显示另外两列,我获取信息并填充列,然后,如果没有按下“显示此列”按钮,我将隐藏它们: Range gColumn = swatDataSheet.Columns["G"]; Range hColumn = swatDataSheet.Columns["H"]; if (!showOmniWorksButton.Checked) { gColumn.Hidden = true; hColumn.Hidden =

我正在开发一个Excel加载项,用网页上的信息填充一张表格

有一个按钮显示另外两列,我获取信息并填充列,然后,如果没有按下“显示此列”按钮,我将隐藏它们:

Range gColumn = swatDataSheet.Columns["G"];
Range hColumn = swatDataSheet.Columns["H"];

if (!showOmniWorksButton.Checked)
{
    gColumn.Hidden = true;
    hColumn.Hidden = true;
}
else
{
    gColumn.Hidden = false;
    hColumn.Hidden = false;
}
第一次一切正常,但如果我刷新工作表并再次填充,所有内容都从我以前隐藏的列开始,即使它现在没有隐藏。如果我的数据从A1开始,在移除并再次填充之后,它从我隐藏的列G1开始

这是一个错误还是我做错了什么


谢谢。

在粘贴的代码中没有发现任何错误,因此我猜这可能与填充信息的代码有关


如何填写数据?您是否刚开始填充当前选定列中的列?如果是这样的话,也许这就是原因,您只需从选择开始填充。首次运行填充时,请尝试从G列中选择一个单元格。

I从A1开始。首先我把所有的标题放在每一列中,然后我把所有的信息放在每一行中,我填充所有的字段。所以我从A1开始填充列。第二次真奇怪,
(range.Cells[rowIndex,1]作为range.Value2=“querys:”
rowIndex=1
填充单元格G1而不是A1。。。为什么?范围是
sheet.UsedRange
。好的,我终于找到了答案。我每次都把这个范围创造成“UsedRange”。当工作表为空时,范围从A1开始,但如果我隐藏一些字段,它们将被视为“已使用”,因此我的工作表将从这里填充。谢谢你@MitjaBezenšek,你让我想到了解决方案。我很高兴你找到了答案。