Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WP8中创建Excel文件?_C#_Excel_Windows Phone 8 - Fatal编程技术网

C# 如何在WP8中创建Excel文件?

C# 如何在WP8中创建Excel文件?,c#,excel,windows-phone-8,C#,Excel,Windows Phone 8,我想用C#为Windows Phone 8应用程序创建一个Excel文件,但找不到方法 我用OpenXml试过了。但是,当我尝试执行代码时,会出现以下错误: 类型“System.IO.Packaging.Package”是在程序集中定义的 未引用。必须添加对程序集“WindowsBase”的引用, 版本=4.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35' 代码如下: public static void CreateSpreadsheetWorkboo

我想用C#为Windows Phone 8应用程序创建一个Excel文件,但找不到方法

我用OpenXml试过了。但是,当我尝试执行代码时,会出现以下错误:

类型“System.IO.Packaging.Package”是在程序集中定义的 未引用。必须添加对程序集“WindowsBase”的引用, 版本=4.0.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'

代码如下:

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, DocumentFormat.OpenXml.SpreadsheetDocumentType.MacroEnabledWorkbook);

        // 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 = "mySheet" };
        sheets.Append(sheet);

        workbookpart.Workbook.Save();

        // Close the document.
        spreadsheetDocument.Close();
    }
publicstaticvoid创建电子表格工作簿(字符串文件路径)
{
//通过提供文件路径创建电子表格文档。
//默认情况下,AutoSave=true、Editable=true和Type=xlsx。
SpreadsheetDocument SpreadsheetDocument=SpreadsheetDocument.Create(文件路径,DocumentFormat.OpenXml.SpreadsheetDocumentType.MacroEnabledWorkbook);
//将工作簿部件添加到文档中。
WorkbookPart WorkbookPart=电子表格文档.AddWorkbookPart();
workbookpart.工作簿=新工作簿();
//将工作表部件添加到工作簿部件。
WorksheetPart WorksheetPart=workbookpart.AddNewPart();
worksheetPart.Worksheet=新工作表(new SheetData());
//将工作表添加到工作簿中。
Sheets Sheets=spreadsheetDocument.WorkbookPart.Workbook.AppendChild(新工作表());
//附加新工作表并将其与工作簿关联。
Sheet Sheet=new Sheet(){Id=spreadsheetDocument.WorkbookPart.GetIdOfPart(工作表部分),SheetId=1,Name=“mySheet”};
附页(页);
workbookpart.Workbook.Save();
//关闭文档。
电子表格文档。关闭();
}

我意识到WinRT框架是完整.NET框架(如WP8和Silverlight)的一个子集,但有时您会幸运地引用“完整的”.NET程序集。如果WinRT.NET framework支持System.IO.Packaging,或者如果存在已移植到WinRT.NET framework的System.IO.Packaging版本,我应该能够引用和使用DocumentFormat.OpenXml.dll。更好的是为WinRT框架提供一个开放的XMLSDK版本(提示,提示…)

这个答案存在于: 缺少对“System.IO.Packaging”的引用。在“引用”中添加“WindowsBase”,这将解决问题

步骤:

  • 右键单击项目上的“参考”
  • 单击“添加引用…”
  • 转到“程序集”->“框架”。然后选择“WindowsBase”
  • 单击“确定”以解决您的问题