Я пытался вставить новую строку в конец листа с помощью OLEDB. Рабочий лист имеет таблицу формата в диапазоне (a1: xx) с сохраненным форматом и формулой. Но вставка OLEDB не имеет никакого формата.Автоматическое расширение форматированной таблицы в Excel с использованием C#
Я прочитал сообщение How to copy format of one row to another row in Excel with c#, говоря о получении формата, но не работает для меня. Кроме того, я не думаю, что он получит формулу.
В пользовательском интерфейсе Excel в правом нижнем углу отформатированной таблицы появится двойная стрелка, и мы можем перетащить ее, чтобы расширить диапазон таблиц формата.
Все, что мы могли бы сделать через C#?
Спасибо.
Excel.Range last = xlWS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range RngToCopyOri = xlWS.get_Range("A1", last).EntireRow;
Excel.Range RngToCopy = RngToCopyOri.Resize[RngToCopyOri.Rows.Count + 1, RngToCopyOri.Columns.Count]; //because insert will add only 1 row, so the range would be one row larger
Excel.Range RngToInsert = xlWS.get_Range("A1", Type.Missing).EntireRow;
RngToInsert.Insert(Excel.XlInsertShiftDirection.xlShiftDown, RngToCopy.Copy(Type.Missing));
Я попытался скопировать диапазон (A1, нижняя ячейка) в исходное местоположение, но ничего не изменилось.