以编程方式对 Excel 个电子表格进行排序
Programmatically sort Excel spreadsheets
我正在使用 OpenXML 来操作 Excel 文件。
我将 Excel 文件作为内存流发送,对其进行编辑,然后将它们发送回浏览器,以便它们在客户办公室程序中打开。我使用以下代码创建新的点差 sheet:
public static void InsertWorksheet(string docName)
{
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(docName, true))
{
// Add a blank WorksheetPart.
WorksheetPart newWorksheetPart = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart.Worksheet = new Worksheet(new SheetData());
Sheets sheets = spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>();
string relationshipId = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart);
// Get a unique ID for the new worksheet.
uint sheetId = 1;
if (sheets.Elements<Sheet>().Count() > 0)
{
sheetId = sheets.Elements<Sheet>().Select(s => s.SheetId.Value).Max() + 1;
}
// Give the new worksheet a name.
string sheetName = "Sheet" + sheetId;
// Append the new worksheet and associate it with the workbook.
Sheet sheet = new Sheet() { Id = relationshipId, SheetId = sheetId, Name = sheetName };
sheets.Append(sheet);
}
}
我的问题是这个 sheet 在工作簿的 sheet 中最后添加。我希望它是 sheet nr 1。我正在寻找有关如何将新创建的 sheet 设置为 sheet nr 的提示。 1.
也许您调用的不是 sheets.Append
,而是在开头插入的内容?有 Insert
或 Prepend
方法吗?
我正在使用 OpenXML 来操作 Excel 文件。
我将 Excel 文件作为内存流发送,对其进行编辑,然后将它们发送回浏览器,以便它们在客户办公室程序中打开。我使用以下代码创建新的点差 sheet:
public static void InsertWorksheet(string docName)
{
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(docName, true))
{
// Add a blank WorksheetPart.
WorksheetPart newWorksheetPart = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>();
newWorksheetPart.Worksheet = new Worksheet(new SheetData());
Sheets sheets = spreadSheet.WorkbookPart.Workbook.GetFirstChild<Sheets>();
string relationshipId = spreadSheet.WorkbookPart.GetIdOfPart(newWorksheetPart);
// Get a unique ID for the new worksheet.
uint sheetId = 1;
if (sheets.Elements<Sheet>().Count() > 0)
{
sheetId = sheets.Elements<Sheet>().Select(s => s.SheetId.Value).Max() + 1;
}
// Give the new worksheet a name.
string sheetName = "Sheet" + sheetId;
// Append the new worksheet and associate it with the workbook.
Sheet sheet = new Sheet() { Id = relationshipId, SheetId = sheetId, Name = sheetName };
sheets.Append(sheet);
}
}
我的问题是这个 sheet 在工作簿的 sheet 中最后添加。我希望它是 sheet nr 1。我正在寻找有关如何将新创建的 sheet 设置为 sheet nr 的提示。 1.
也许您调用的不是 sheets.Append
,而是在开头插入的内容?有 Insert
或 Prepend
方法吗?