我做过一些搜索,但是没有找到任何关于如何做到这一点的好指南。
我希望能够上传excel文件,但我不想将其存储在服务器上。我想从用户的计算机上读取它并查看值。之后,我将使用EF将数据写入数据库。
提出一个明确的问题: 如何从用户计算机上的Excel文件中读取数据?
答案 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/