NPOI与"模板"获取ReadingNotSupportedException

时间:2014-11-13 13:46:06

标签: c# excel npoi

我制作了一个小包装类,它包含NPOI Excel旧格式(XLS,1997-2003)。代码类似于:

public class NpoiExcelDriver {
    /// <summary>
    /// Underlying workbook to work with.
    /// </summary>
    private HSSFWorkbook workbook;

    // Open an XLS file specified by file name.
    public void Open(string fileName)
    {
        using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
        {
            this.workbook = new HSSFWorkbook(file, true);
        }
    }

    // put data etc
    public void PutData() {...}

    // Save the workbook under specified file name.
    public void SaveAs(string fileName)
    {           
        using (FileStream fff = new FileStream(fileName, FileMode.Create, FileAccess.Write))
        {
            this.workbook.Write(fff);
        }
    }
}

在客户端使用它时,我的操作如下:

NpoiExcelDriver output = new NpoiExcelDriver();

output.Open(@"C:\Temp\Test.xls");

output.PutData(1, 2, 1, "Someone");
output.PutData(1, 2, 2, "Was");
output.PutData(1, 2, 3, "Here");

output.SaveAs(@"C:\Temp\Test2.xls");

当我运行此代码时,我得到一个例外:

  

NPOI.dll中出现“NPOI.HPSF.ReadingNotSupportedException”类型的第一次机会异常

我不知道我做错了什么 - 我已经检查了其他似乎做同样但无济于事的例子。我甚至尝试写入MemoryStream,就像我在ASP.NET示例中看到的那样,但我遇到了同样的问题。

如果我自己创建工作簿然后尝试保存它就可以了。

有什么建议吗?

0 个答案:

没有答案