【发布时间】:2014-09-25 00:37:16
【问题描述】:
我正在实现一个具有 2 个参数的接口:(System.IO.Stream input, System.IO.Stream output)。
如果输入流源自 XLSX 文件,我将使用 DocumentFormat.OpenXml.Packaging.SpreadsheetDocument 来读取文档。
如果是 CSV,那就更简单了:StreamReader.ReadLine()。
但是流来自 XLS 文件,我不太确定如何正确读取它。
我试图弄清楚Microsoft.Office.Interop.Excel 是否可以读取流,但我不确定它是否可能。
有什么方法可以分析System.IO.Stream提供的XLS文件吗?
【问题讨论】:
-
有人将流传递给您的应用程序吗?还是您在应用程序中创建流?
-
有人在通过流,我无法控制它。
-
所以,澄清一下,如果文件是 XLS,则有人将电子表格文档对象传递给您。对吗?
-
它是一个二进制文件。读它和理解它是不一样的。将二进制文件写入光盘,然后用 Excel 打开它。我知道这看起来很浪费,但我认为 Interop.Excel 不会接受流。
-
您可以使用 Excel ODBC 驱动程序打开流。在 MSDN 中搜索 Excel ODBC 驱动程序。
标签: c# .net excel office-interop excel-interop