且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从asp.net core 2中的excel文件上传和读取

更新时间:2023-02-16 07:50:18

如果我们谈论的是Razor Pages,这是我今天测试的简单示例.

if we are talking about Razor Pages, here's a simple sample that I tested today..

环境:.NET Core 3.1, VS 2019

一个简单的课程

public class UserModel
{
    public string Name { get; set; }
    public string City { get; set; }
}

Index.cshtml.cs

usings..
using ExcelDataReader;

public void OnPost(IFormFile file)
    {
        List<UserModel> users = new List<UserModel>();
        System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
        using (var stream = new MemoryStream())
        {
            file.CopyTo(stream);
            stream.Position = 0;
            using (var reader = ExcelReaderFactory.CreateReader(stream))
            {
                while (reader.Read()) //Each row of the file
                {
                    users.Add(new UserModel { Name = reader.GetValue(0).ToString(), City = reader.GetValue(1).ToString()});
                }
            }
        }
        //users // you got the values here
}

在视图中标记

<form id="form1" method="post" enctype="multipart/form-data">
<div class="text-center">

    <input type="file" id="file1" name="file" />

</div>

<script>
    document.getElementById('file1').onchange = function () {
       document.getElementById('form1').submit();
     };
        </script>

您需要 ExcelDataReader nuget软件包,我使用的是3.6.0版本

github工作代码