有几个人以迂回的方式问道,但我还没有看到一个可行的解决方案。有没有办法直接从内存中打开excel文件(比如byte [])?同样有没有办法将文件直接写入内存?我正在寻找不涉及硬盘或杂耍临时文件的解决方案。提前感谢任何建议。
答案 0 :(得分:0)
Excel不支持保存到内存,至少不是我能找到的 - 而且我看过因为我可以使用它。
SpreadsheetGear for .NET可以保存到字节数组并从中加载。这是一个简单的例子:
using System;
using SpreadsheetGear;
namespace Program
{
class Program
{
static void Main(string[] args)
{
// Create a simple Hello World workbook.
IWorkbook workbook = Factory.GetWorkbook();
IWorksheet worksheet = workbook.Worksheets[0];
worksheet.Cells["A1"].Value = "Hello World";
// Save to memory.
byte[] data = workbook.SaveToMemory(FileFormat.OpenXMLWorkbook);
// Load from memory and output the contents of A1.
workbook = Factory.GetWorkbookSet().Workbooks.OpenFromMemory(data);
worksheet = workbook.Worksheets[0];
Console.WriteLine("A1={0}", worksheet.Cells["A1"].Value);
}
}
}
如果您想亲自试用,可以查看实时SpreadsheetGear示例here并下载免费试用here。
免责声明:我拥有SpreadsheetGear LLC