通过Linq更改Excel工作表的列名或属性

我想知道如何将工作表的列名或属性提高到大写字母而不知道有多less内容或内容是什么?

我目前的代码如下:

var excel = new ExcelQueryFactory(fileLocation); var dataSheet = from c in excel.Worksheet(0) select c; 

假设列名在工作表的第一行,我推荐使用LinqToExcel提供的WorksheetNoHeader()方法。 然后,您可以检索第一行并遍历所有列名称。

下面是一个代码示例:

 var excel = new ExcelQueryFactory(fileLocation); var firstRow = excel.WorksheetNoHeader().First(); var columnNames = new List<string>(); foreach (var cell in firstRow) columnNames.Add(cell.ToString()); 

您可以使用打开的Office库。

下面的代码会给你列大写的文本(考虑第一行有列名)

 List<string> columnNames = new List<string>(); var worksheetPart = (WorksheetPart)spreadsheetDocument.WorkbookPart.GetPartById(sheet.Id); var sheetData = worksheetPart.Worksheet.Elements<SheetData>().First(); foreach (var r in sheetData.Elements<Row>()) { var columnIndex = 0; if (r.RowIndex == "1") // Column Header { foreach (var c in r.Elements<Cell>()) { columnNames.Add(GetCellValue(spreadsheetDocument.WorkbookPart, c).ToUpper()); } } 

显而易见的方法是从variablesdataSheet分离适当的单元格(表示列名的那些单元格)(可以通过循环,硬编码或者(理想情况下)通过更有效的方法来实现)知道一个)。 然后使用String#toUpper()方法将每个string值都大写,并将它们注入到它们各自的单元格中。