C# 从excel文件asp.net mvc获取数据的最简单方法

C# 从excel文件asp.net mvc获取数据的最简单方法,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在开发一个ASP.NET MVC应用程序,从excel文件中提取数据并从中提取信息,以替换用户创建的电子邮件模板。但是我在很多搜索结果中看到了这个方法如此复杂和漫长。我想知道最简单的方法是从excel文件中获取数据。例如,我的邮件模板有一个占位符,我想从“分发者”列提取数据,并根据excel文件创建邮件列表,它有多少行。示例代码: public string excelParsing(string fullpath) { string data = ""; //Create

我正在开发一个ASP.NET MVC应用程序,从excel文件中提取数据并从中提取信息,以替换用户创建的电子邮件模板。但是我在很多搜索结果中看到了这个方法如此复杂和漫长。我想知道最简单的方法是从excel文件中获取数据。例如,我的邮件模板有一个占位符,我想从“分发者”列提取数据,并根据excel文件创建邮件列表,它有多少行。

示例代码:

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;
}
公共字符串解析(字符串完整路径)
{
字符串数据=”;
//创建COM对象。为引用的所有对象创建COM对象
Excel.Application xlApp=新的Excel.Application();
Excel.Workbook xlWorkbook=xlApp.Workbooks.Open(完整路径);
Excel._工作表xlWorksheet=xlWorkbook.Sheets[1];
Excel.Range xlRange=xlWorksheet.UsedRange;
int rowCount=xlRange.Rows.Count;
int colCount=xlRange.Columns.Count;
//迭代行和列,并在文件中显示时打印到控制台
//excel不是基于零的!!

对于(int i=1;i不要在服务器环境中使用互操作:

Microsoft目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在此环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁。来源:


请查看此库-。它快速可靠,绝对不需要太多代码。

可能重复“查找如何在OpenXML SDK for Excel 2007+上使用Microsoft.Office.Interop.Excel.dllLook在不使用Excel的情况下读取原始文件”。