Я пытаюсь переместить сводную таблицу в VSTO и не преуспеваю. Моя логика заключалась в том, чтобы найти диапазон сводной таблицы, вырезать ее и вставить ее в новый диапазон, где я уверен, что на листе нет данных.C# Excel VSTO - Можно ли перемещать выделение?
public static void MovePivotTable(string sheetName, PivotTable pivotTable, int newX, int newY, int width, int height)
{
try
{
Worksheet worksheet = GetOrCreateWorksheet(sheetName);
Range topLeft = (Range)worksheet.Cells[newX, newY];
Range bottomRight = (Range)worksheet.Cells[newX + width, newY + height];
Range newRange = worksheet.get_Range(topLeft, bottomRight);
pivotTable.TableRange1.Cut(Missing.Value);
newRange.PasteSpecial(XlPasteType.xlPasteAll, XlPasteSpecialOperation.xlPasteSpecialOperationNone,
Missing.Value, Missing.Value);
return;
}
catch (Exception)
{
}
finally
{
}
}
Однако я всегда получаю исключение. Либо: - Ошибка PasteSpecial. - Что-то вдоль линий, что невозможно изменить сводную таблицу.
Кто-нибудь когда-либо делал это? Могут ли они подтвердить, что это действительно возможно или нет? Любой пример кода?
Большое спасибо, Шон
какую библиотеку вы используете для управления листом excel? –
@ EmmanuelN Его VSTO. –