Как удалить строку из файла excel с помощью Open Office XML SDK
Я написал приведенный ниже код для удаления строки из электронной таблицы excel с помощью OOXML . Я могу удалить данные строки , однако строка все еще существует как пустая строка. Пожалуйста, помогите мне полностью удалить строку из файла excel.
public static void DeleteRowFromExcel(string docName, string sheetName, uint rowIndex) { // Open the document for editing. using (SpreadsheetDocument document = SpreadsheetDocument.Open(docName, true)) { IEnumerable<sheet> sheets = document.WorkbookPart.Workbook.GetFirstChild<sheets>().Elements<sheet>().Where(s => s.Name == sheetName); if (sheets.Count() == 0) { // The specified worksheet does not exist. return; } string relationshipId = sheets.First().Id.Value; WorksheetPart worksheetPart = (WorksheetPart)document.WorkbookPart.GetPartById(relationshipId); Row row=GetRow(worksheetPart,rowIndex); row.RemoveAllChildren(); worksheetPart.Worksheet.Save(); } }</sheet></sheets></sheet>
Michael_Davies
Просто предположение; попробуйте row.Remove(); без части AllChildren.
Maciej Los
Мой виртуальный 5!
Опубликуйте его как asnwer, и я обещаю поднять его!
Anoob Aliyar
Спасибо Майклу за ваш ответ. Я попробовал row.Remove() , однако строка все еще существует как пустая строка.
Michael_Davies
Оглядываясь вокруг, кажется, что нет никакого окончательного ответа на этот вопрос;
http://codekea.com/53jeBMZL3gND/how-to-delete-a-row-in-excel-file-with-open-xml-sdk.html
Вышесказанное не помогает, так как не дает и пример просто констатирует проблему, связанную с удалением строки.
Единственный другой пример кода, который я могу найти, использует row.Remove (), дайте ему вихрь.
kingsa
У вас есть решение для этого ?? bcoz я тоже поражен в том же районе !!!