在MVC中读取excel文件数据

时间:2016-04-06 11:06:21

标签: c# .net asp.net-mvc excel

我做过一些搜索,但是没有找到任何关于如何做到这一点的好指南。

我希望能够上传excel文件,但我不想将其存储在服务器上。我想从用户的计算机上读取它并查看值。之后,我将使用EF将数据写入数据库。

提出一个明确的问题: 如何从用户计算机上的Excel文件中读取数据?

3 个答案:

答案 0 :(得分:0)

你的朋友是Microsoft.Office.Interop.Excel!这是一个很棒的图书馆。只需添加它的参考和Microsoft Office 14.0对象库。

网上有很多指南

祝你好运

答案 1 :(得分:0)

您可以尝试以下操作:

public string excelParsing(string fullpath)
{
    string data = "";
    //Create COM Objects. Create a COM object for everything that is referenced
    Excel.Application xlApp = new Excel.Application();
    Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(fullpath);
    Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
    Excel.Range xlRange = xlWorksheet.UsedRange;

    int rowCount = xlRange.Rows.Count;
    int colCount = xlRange.Columns.Count;

    //iterate over the rows and columns and print to the console as it appears in the file
    //excel is not zero based!!
    for (int i = 1; i <= rowCount; i++)
    {
        for (int j = 1; j <= colCount; j++)
        {
             //either collect data cell by cell or DO you job like insert to DB 
            if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
                data += xlRange.Cells[i, j].Value2.ToString();
        }
    }

    return data;
}

http://sforsuresh.in/how-to-read-an-excel-file-using-asp-net-mvc4/

答案 2 :(得分:0)

我想说,最简单的方法是让用户将excel文件上传到您的MVC-Controller并使用DocumentFormat.OpenXml来读取文件,然后将其保存到数据库中,或者使用数据。假设我们在谈论XLSX文件而不是XLS文件。

DocumentFormat.OpenXml可在NuGet上找到: https://www.nuget.org/packages/DocumentFormat.OpenXml/