C# 从excel文件asp.net mvc获取数据的最简单方法
我正在开发一个ASP.NET MVC应用程序,从excel文件中提取数据并从中提取信息,以替换用户创建的电子邮件模板。但是我在很多搜索结果中看到了这个方法如此复杂和漫长。我想知道最简单的方法是从excel文件中获取数据。例如,我的邮件模板有一个占位符,我想从“分发者”列提取数据,并根据excel文件创建邮件列表,它有多少行。示例代码: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
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的情况下读取原始文件”。