
XML
csharpstring filePath = "path_to_excel_file.xlsx";using (SpreadsheetDocument document = SpreadsheetDocument.Open(filePath, true)){ // 加载 excel 文件的 XML 内容 WorkbookPart workbookPart = document.WorkbookPart; WorksheetPart worksheetPart = workbookPart.WorksheetParts.First(); SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First(); // ...}2. 根据列索引删除列数据在打开 excel 文件后,我们可以使用列索引来删除整列的数据。首先,我们需要找到要删除的列,并删除其对应的单元格数据。csharpint columnIndex = 2; // 要删除的列索引,这里以第二列为例foreach (Row row in sheetData.Elements<Row>()){ Cell cell = row.Elements<Cell>().FirstOrDefault(c => GetcolumnIndex(c.CellReference.Value) == columnIndex); if (cell != null) { // 删除单元格数据 cell.Remove(); }}3. 更新 excel 文件并保存删除列数据后,我们需要更新 excel 文件并保存更改。csharpworksheetPart.Worksheet.Save();workbookPart.Workbook.Save();document.Close();至此,我们已经成功使用 Open XML 删除了整个 excel 列。案例代码:下面是一个完整的示例代码,演示了如何使用 Open XML 删除整个 excel 列。
csharpusing DocumentFormat.OpenXML.Packaging;using DocumentFormat.OpenXML.Spreadsheet;using System.Linq;namespace excelColumnDeletion{ class Program { static void MAIn(string[] args) { string filePath = "path_to_excel_file.xlsx"; using (SpreadsheetDocument document = SpreadsheetDocument.Open(filePath, true)) { // 加载 excel 文件的 XML 内容 WorkbookPart workbookPart = document.WorkbookPart; WorksheetPart worksheetPart = workbookPart.WorksheetParts.First(); SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First(); int columnIndex = 2; // 要删除的列索引,这里以第二列为例 foreach (Row row in sheetData.Elements<Row>()) { Cell cell = row.Elements<Cell>().FirstOrDefault(c => GetcolumnIndex(c.CellReference.Value) == columnIndex); if (cell != null) { // 删除单元格数据 cell.Remove(); } } worksheetPart.Worksheet.Save(); workbookPart.Workbook.Save(); document.Close(); } } // 获取单元格的列索引 static int GetcolumnIndex(string cellReference) { string columnName = new string(cellReference.Where(c => char.IsLetter(c)).ToArray()); int columnIndex = 0; int factor = 1; for (int i = columnName.Length - 1; i >= 0; i--) { columnIndex += factor * (columnName[i] - 'A' + 1); factor *= 26; } return columnIndex; } }}通过以上代码,我们可以轻松使用 Open XML 删除 excel 文件中的整个列数据。使用 Open XML 可以更加灵活地处理 excel 文件,满足各种需求。希望本文能够帮助读者理解如何使用 Open XML 进行 excel 列删除操作。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号