首页 > 解决方案 > 在 Angular 中导入 excel 文件并将数据传递到 ASP.NET Core API 项目中

问题描述

所以情况如下。我有一个 Angular 前端项目,我想从前端导入一个 excel 文件以及一些附加属性。

我将处理前端,但我对后端有几个问题:

  1. 我应该在 excel 文件的后端接收什么作为变量类型?
  2. 我想从 excel 文件中获取数据并仅获取特定数据。例如,我只有一张表,其中包含行名称、年龄和交易数量。我只想获取事务的名称和数量,并将该信息保存在我的应用程序中的类的新实例中。

我怎么做?

标签: c#excelfileasp.net-coreasp.net-web-api

解决方案


启动OPEN XML SDK之前需要

首先在 asp 中,您需要使用 IFormFile 变量定义您的方法或使用 FileUpload Helper 类

那么您需要将数据移动到流中,例如 IFormFile.CopyToAsync(Stream)

最后打开电子表格进行只读访问,以便您可以读取数据

这看起来像这样

public async Task<IActionResult> OnPostUploadAsync(List<IFormFile> files)
{
    foreach(var file in files)
    {
        using var mem = new MemoryStream();
        await file .CopyToAsync(mem);
        var doc = SpreadsheetDocument Open(mem, false);
        ...

这将打开文件并将其中的数据解析为 Excel 电子表格

然后,您可以使用电子表格方法从文档中提取所需的数据


推荐阅读