当我打开使用 EPPlus (C#) 生成的 Excel 文件时,我得到“你想替换 [... .xlsx]PivotTable 中目标单元格的内容吗? ”
正如您在下面的屏幕截图中所见,我希望显示图像的单元格中没有任何内容。即使我将图像推到数据透视表的外边缘之外,我也会收到此消息(我一直放在 C/3 列下方)。当我对上面引用的对话框选择“是”时,图像最终被放置在工作表上(如果我选择“否”则不添加),工作表如下所示:
这是我用来添加图像的代码:
int imageCol = _grandTotalsColumnPivotTable + 1; // -1; <= I really want it to be this
AddImage(pivotTableWorksheet, 1, imageCol);
. . .
private void AddImage(ExcelWorksheet oSheet, int rowIndex, int colIndex)
{
var excelImage = oSheet.Drawings.AddPicture("PRO*ACT Logo", _logo);
excelImage.From.Column = colIndex - 1;
excelImage.From.Row = rowIndex - 1;
excelImage.SetSize(130, 100);
excelImage.From.ColumnOff = Pixel2MTU(2);
excelImage.From.RowOff = Pixel2MTU(2);
}
public int Pixel2MTU(int pixels)
{
int mtus = pixels * 9525;
return mtus;
}
我怎样才能让消息不显示(以编程方式,这不可能是用户需要做的事情)和“只是做它”或让它知道那个位置没有任何东西,无论如何?
更新
这显然不是问题;我试图删除这篇文章,但不能,因为它有答案。即使我评论了图像的写作,我也明白了。并试图阻止这样的消息:
_xlApp.DisplayAlerts = false;
...也不起作用-我仍然明白。
显然问题出在其他地方,但我不知道在哪里。
更新 2
这是数据透视表下隐藏数据的情况;一旦我摆脱了它,问题就消失了。IOW,问题出在我的代码上,而不是 EPPlus。