我想用C#为Windows Phone 8应用程序创建一个Excel文件,但我找不到办法。
我尝试使用OpenXml。但是,当我尝试执行代码时,我收到此错误:
类型'System.IO.Packaging.Package'在程序集中定义 没有引用。您必须添加对程序集'WindowsBase的引用, Version = 4.0.0.0,Culture = neutral,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();
}
答案 0 :(得分:9)
参考&#34; System.IO.Packaging&#34;不见了。添加&#34; WindowsBase&#34;到你的&#34;参考文献&#34;这将解决问题。
步骤:
答案 1 :(得分:0)
我意识到WinRT框架是完整.NET框架的一个子集(如WP8和Silverlight),但有时你会很幸运并引用一个“完整的”.NET程序集。如果WinRT .NET框架支持System.IO.Packaging,或者如果有一个已移植到WinRT .NET框架的System.IO.Packaging版本,我应该能够引用和使用DocumentFormat.OpenXml。 DLL。更好的是WinRT框架的Open XML SDK版本(提示,提示......)。