У меня проблема с очень простой вещью. Удаление таблицы с использованием EPPlus. Проблема, с которой я сталкиваюсь, заключается в том, что с кодовой точки зрения (я отлаживал код, а в коллекции Worksheet.Tables
, наложенный мной, который я назвал Delete on, исчез. Я продолжаю сохранять excel и когда я пытаюсь чтобы открыть его, Excel сообщает мне, что «они» обнаружили проблему с ним, и если я хочу, чтобы они восстанавливались как можно больше. Если я выберу «Да» (потому что «Нет» закрывает файл), таблица, которую я просто удаляю с помощью кода, возвращается снова.Невозможно удалить таблицу с помощью EPPlus
Если я устанавливаю ClearRange
свойства в методе Delete()
в true
, таблица все еще находится в таблице, но на этот раз столбцы заголовка исчезли, и вместо того, чтобы Excel воссоздает свою таблицу с некоторыми именами по умолчанию (cOLUMN1, cOLUMN2 , и т. д., в зависимости от количества столбцов, которые была в исходной таблице).
Я пытался манипулировать свойством TableXml
таблицы, и он все еще не работает. Помимо этого, я только что прочитал Интернет около 3 часов без видимого решения моей проблемы.
Так что, если кто-то интересно, код для этого:
using (var package = new ExcelPackage(fileToWriteTo, templateToStartWith))
{
var workbook = package.Workbook;
var worksheet = workbook.Worksheets[WORKSHEET_NAME];
worksheet.Tables.Delete("dynamicTable", true);
//worksheet.Tables.Delete("dynamicTable");
package.Save();
}
Как вы можете видеть, очень простой операцией, своего рода сбой. Если кто-нибудь знает о решении удалить таблицу из электронной таблицы с помощью EPPlus, поделитесь ею. Было бы очень признательно.
Очевидно, что * нет * базовая вещь - таблица - это название диапазона, * не * диапазон или его содержимое. Удаление может привести к повреждению любых функций, которые его используют, подключений, которые заполняют его и т. Д. Если бы это было основополагающим, работа над изменением самого XML. Вы пробовали это с помощью простого листа, то есть только с одной таблицей, без форматирования, соединений и т. Д.? Используется ли таблица в любых формулах, заполненных соединениями? –
Это ошибка. Удаление таблицы изменяет часть рабочего листа, но * не * удаляет часть таблицы либо для таблиц «папка», либо из файла «Content_Types» внутри пакета. К сожалению, EPPlus не раскрывает фактический пакет OpenXML или его части, поэтому нет возможности вручную удалить сирот. –
Спасибо за ответ. По основному я имел в виду операцию, открытую epplus (простой «.Delete()»). Я попытался изменить xml, как указано в вопросе. Ничего не произошло. Он просто игнорирует это. –