在 UWP 上使用 NPOI 创建 Excel 文件
Creating an Excel File with NPOI on UWP
我正在开发一个 UWP 应用程序,它获取有关资产的信息,将它们分组并使用该信息创建 Excel。
我正在使用 NPOI 库,它没有抛出任何异常,但是无法读取 excel 文件。
我总结的代码是这样的:
using(NPOIStream stream = new NPOIStream()) //<-- Not important. An overriden MemoryStream
{
IWorkbook workbook = new XSSFWorkbook();
// I fill my XSSFWorkbook
workbook.Write(stream);
byte[] buffer = stream.GetBuffer();
// StorageFolder folder is already picked
StorageFile = await folder.CreateFileAsync("sample.xlsx", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteByteAsync(file, buffer);
}
欢迎任何帮助。
现在,NPOI 支持dotnet core,您可以在UWP 项目中安装NPOI NuGet 包。
旧答案:
NPOI 是一个 nuget 库,您应该使用 nuget 来安装它。参见 dotnetcore/NPOI: A .NET library for reading and writing Microsoft Office binary and OOXML file formats.
终于用上了EPPlus 4+版本
创建文件时,将 CreationCollisionOptions
从 ReplaceExisting
更改为 GenerateUniqueName
。然后手动删除该文件以尽量减少存储 space 用完。
我正在开发一个 UWP 应用程序,它获取有关资产的信息,将它们分组并使用该信息创建 Excel。
我正在使用 NPOI 库,它没有抛出任何异常,但是无法读取 excel 文件。
我总结的代码是这样的:
using(NPOIStream stream = new NPOIStream()) //<-- Not important. An overriden MemoryStream
{
IWorkbook workbook = new XSSFWorkbook();
// I fill my XSSFWorkbook
workbook.Write(stream);
byte[] buffer = stream.GetBuffer();
// StorageFolder folder is already picked
StorageFile = await folder.CreateFileAsync("sample.xlsx", CreationCollisionOption.ReplaceExisting);
await FileIO.WriteByteAsync(file, buffer);
}
欢迎任何帮助。
现在,NPOI 支持dotnet core,您可以在UWP 项目中安装NPOI NuGet 包。
旧答案:
NPOI 是一个 nuget 库,您应该使用 nuget 来安装它。参见 dotnetcore/NPOI: A .NET library for reading and writing Microsoft Office binary and OOXML file formats.
终于用上了EPPlus 4+版本
创建文件时,将 CreationCollisionOptions
从 ReplaceExisting
更改为 GenerateUniqueName
。然后手动删除该文件以尽量减少存储 space 用完。