直接从内存读取/写入Excel文件

时间:2010-03-17 18:06:26

标签: excel memory

有几个人以迂回的方式问道,但我还没有看到一个可行的解决方案。有没有办法直接从内存中打开excel文件(比如byte [])?同样有没有办法将文件直接写入内存?我正在寻找不涉及硬盘或杂耍临时文件的解决方案。提前感谢任何建议。

1 个答案:

答案 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