添加MS Excel库到VS 2015 Express

本文关键字:2015 Express VS 库到 MS Excel 添加 | 更新日期: 2023-09-27 18:08:00

我的电脑上安装了VS Express 2015和MS office 2007。我需要从一个excel表中读取一些值。我添加了Microsoft Office 12.0对象库,但是无法使用

using Microsoft.Office.Interop.Excel;

我得到以下错误:类型或命名空间名称'Interop'在命名空间'Microsoft中不存在。

添加MS Excel库到VS 2015 Express

当您希望从excel工作表中读取一些值时,EPPlus是使用excel文件的一种伟大而简单的方法。这是Open office XML的包装器。

public static DataTable getDataTableFromExcel(string path)
{
    using (var pck = new OfficeOpenXml.ExcelPackage())
    {
        using (var stream = File.OpenRead(path))
        {
            pck.Load(stream);
        }
        var ws = pck.Workbook.Worksheets.First();  
        DataTable tbl = new DataTable();
        bool hasHeader = true; // adjust it accordingly( i've mentioned that this is a simple approach)
        foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
        {
            tbl.Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
        }
        var startRow = hasHeader ? 2 : 1;
        for (var rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
        {
            var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
            var row = tbl.NewRow();
            foreach (var cell in wsRow)
            {
                row[cell.Start.Column - 1] = cell.Text;
            }
            tbl.Rows.Add(row);
        }
        return tbl;
    }
}