【发布时间】:2012-11-10 09:51:36
【问题描述】:
我想在我的 C#、WPF 应用程序中读取 excel 文件。它在具有不同版本 excel 的不同机器上运行(有些机器具有 excel-2003,而有些机器具有 excel-2007 等,有些机器根本没有安装任何办公室)。无论目标机器上是否安装了任何 excel 版本/包,我都想读取 excel 文件内容。
我目前正在使用 Microsoft.Office.Interop.Excel 从 excel 文件中读取数据,但是在没有安装任何 office 的目标计算机上运行我的应用程序时,我的应用程序无法运行。
我该怎么做? 我是这样做的,添加了命名空间
using Excel = Microsoft.Office.Interop.Excel;
这是方法的主体:
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;
xlWorkBook = xlApp.Workbooks.Open(_filePath);
List<string> Folders = new List<string>();
try
{
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
for (int cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
{
Folders.Add(((range.Cells[1, cCnt] as Excel.Range).Value).ToString());
}
}
catch (Exception ex)
{
//some error msg
}
finally
{
xlWorkBook.Close();
xlApp.Quit();
}
return Folders;
}
【问题讨论】:
-
来了:你尝试了什么?
-
使用Microsoft.Office.Interop.Excel读取excel文件数据。
-
“我目前正在使用 Microsoft.Office.Interop.Excel 从 excel 文件中读取数据,但是在没有安装任何 Office 的目标计算机上运行我的应用程序时,我的应用程序无法运行” - 是的。这是意料之中的。
-
正如 Mitch Wheat 所说,这是意料之中的。互操作不是一整套功能,它是一个interact 的库——在本例中,是与 Office。如果您不想安装 Office,最好使用另一个本机读取文件的库。
-
该库的任何名称/教程?
标签: c# wpf excel export-to-excel import-from-excel