2014-09-19 66 views
1

我在我的应用程序中使用“documentformat.openxml.spreadsheet.worksheet”。指定名称到工作表vs工作表

如果我使用Sheet,我可以为其指定名称,如下所示。

var sheet = new Sheet(); 
sheet.Name = "XYZ"; 

如果我使用Worksheet,我无法指定名称。如何将名称分配给工作表?

var worksheet = new Worksheet(); 

回答

1

这是一个从下面的链接取得的例子,易于理解和使用。这将创建该文件。然后创建工作表和后来的名称分配给工作表,就像这样:

sheet.Name="ohyessheet"; 

不要忘了“WindowsBase”添加到参考项目。此外,使用命名空间添加此:

using DocumentFormat; 
using DocumentFormat.OpenXml; 
using DocumentFormat.OpenXml.Packaging; 
using DocumentFormat.OpenXml.Spreadsheet; 

这是函数来创建Excel文件,但您可能只需要工作表信息。无论如何,下面是创建文件并创建工作表的完整示例。

How to: Create a spreadsheet document by providing a file name (Open XML SDK)

CreateSpreadsheetWorkbook(@".\MyExcelFile.xlsx"); 

,并使用CreateSpreadsheetWorkbook做真正的工作:

public static void CreateSpreadsheetWorkbook(string filepath) 
    { 
     // Create a spreadsheet document by supplying the filepath. 
     // By default, AutoSave = true, Editable = true, and Type = xlsx. 
     SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument. 
      Create(filepath, SpreadsheetDocumentType.Workbook); 

     // Add a WorkbookPart to the document. 
     WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); 
     workbookpart.Workbook = new Workbook(); 

     // Add a WorksheetPart to the WorkbookPart. 
     WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>(); 
     worksheetPart.Worksheet = new Worksheet(new SheetData()); 

     // Add Sheets to the Workbook. 
     Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook. 
      AppendChild<Sheets>(new Sheets()); 

     // Append a new worksheet and associate it with the workbook. 
     Sheet sheet = new Sheet() 
     { 
      Id = spreadsheetDocument.WorkbookPart. 
       GetIdOfPart(worksheetPart), 
      SheetId = 1, 
      Name = "mySheetNameISHere!" 
     }; 
     sheets.Append(sheet); 

     workbookpart.Workbook.Save(); 

     // Close the document. 
     spreadsheetDocument.Close(); 
    }