0

尝试运行这些行时:

var app = new Excel.Application();
Excel.Workbook workbook = app.Workbooks.Open(pathToFile, Type.Missing, true, Type.Missing, Type.Missing,
                                                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                   Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

我有这些问题:

1) 我收到“文件转换正在进行中”的消息。如果我只想从其中一个工作表中读取一列,为什么我需要转换一些东西。

2)我收到此错误消息:在此处输入图像描述

为什么我需要关心哪个版本创建了 excel?

3)最后我得到一个例外:“太多不同的单元格格式”。

那么我使用打开工作簿方法的方式是否有问题,或者是否有另一种方法可以从包含多张工作表的 excel 文件中读取特定列,而我只需要从单个特定工作表中读取数据?

4

1 回答 1

6

这对你来说可能并不明显,但打电话

new Excel.Application()

打开一个 Excel 实例(您可以在任务管理器中检查它)。因此,如果您的 Excel 版本与您打开的文件不兼容,则会出现此错误。

由于您尝试使用 Excel 应用程序打开 Excel 文档,因此您确实关心它们是什么版本。

我认为OpenXML SDK可以帮助您。

于 2013-08-05T15:21:06.540 回答