如何将数据从多个 excel/csv 文件传输到 C# 中的字典

串行编码器

我有 3 个 Excel 文件,其中包含与客户详细信息、股票公司和股票购买订单详细信息相关的数据。我想使用 C# 将所有数据解析为多层字典,并同时运行“排序”和“搜索”功能。我是 C# 的新手,想知道相同的代码是什么。

数据 例如:股票代码 公司名称 S&P Sector AAPL Apple Inc. IT

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

皮肤

I could be barking up the wrong tree but with what you've given us to work with, I'm assuming you want to take the data matrix in the relevant worksheet and from that data, create an enumerable list of data with the relevant type so you can perform operations over it like sorting, filtering, etc. If that's what you want then the below is an example of that.

This is the workbook I created with some test data ...

在此处输入图片说明

You said you're a novice with C#, but, to make the below work, create a new .NET Framework project and add the NuGet package ... Microsoft.Office.Interop.Excel. I called the project InterExcelDotNet but you can change that to be whatever you want.

using Microsoft.Office.Interop.Excel;
using System.Collections.Generic;
using System.Linq;

namespace ExcelInteropDotNet
{
    public class CompanyStockInfo
    {
        public string StockSymbol { get; set; }
        public string CompanyName { get; set; }
        public string SPSector { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Change the below variabes to the relevant values for your needs.
            string workbookName = @"c:\temp\Source Data.xlsx";
            string worksheetName = "CompanyStockData";

            // Create a new list with the type being the CompanyStockInfo type.
            var companyStockInfoList = new List<CompanyStockInfo>();

            // Create an instance of Excel, open the workbook, fetch the sheet and then
            // find the last row in column A.
            var xlApplication = new Application();
            var xlWorkbook = xlApplication.Workbooks.Open(workbookName, ReadOnly: true);
            var xlSrcSheet = xlWorkbook.Worksheets[worksheetName] as Worksheet;
            var lastRow = xlSrcSheet.Cells[xlSrcSheet.Rows.Count,1].End[XlDirection.xlUp].Row;

            // There may be a better way to do this but essentially, the below will loop through
            // all cells from the 2nd row to the last row and create a new item in the list
            // that stores all of the data.
            for (long row = 2; row <= lastRow; row++)
            {
                companyStockInfoList.Add(new CompanyStockInfo()
                {
                    StockSymbol = (xlSrcSheet.Cells[row, 1] as Range).Text,
                    CompanyName = (xlSrcSheet.Cells[row, 2] as Range).Text,
                    SPSector = (xlSrcSheet.Cells[row, 3] as Range).Text
                });
            }

            xlApplication.Quit();

            // You can use Linq to sort and search the list for the data you're wanting to
            // get your hands on.

            // Will filter all entries that have Inc. in the company name.
            var filteredList = companyStockInfoList.Where(item => item.CompanyName.Contains("Inc."));

            // Orders all entries by the company name in alphabetical order.
            var orderedList = companyStockInfoList.OrderBy(item => item.CompanyName);
        }
    }
}

现在,了解了以上内容后,您应该了解 C# 中的 Excel 库确实允许您像在 excel 中一样直接对工作簿执行操作,例如 SORT 和 FILTER。这可能是实现您想要的另一种方式。

种类

种类

高级过滤器

高级过滤器

我不确定所有这些是否有帮助,但我希望它有帮助。

祝你好运 ...!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将tar.gz文件中包含的文件管道传输到bash中的c ++程序

来自分类Dev

将数据从C#类传输到XML文件

来自分类Dev

将文件管道传输到Sails中的多个源(船长)

来自分类Dev

如何将多个远程图像流式传输到一个zip文件中,并使用ExpressJS将其传输到浏览器中?

来自分类Dev

管道传输到外壳中的多个文件

来自分类Dev

如何将数据流式传输到希望从作为参数给出的文件中读取数据的程序?

来自分类Dev

将2D数组传输到文件中并返回

来自分类Dev

如何在Elixir中流式传输到文件中?

来自分类Dev

如何将文件从VMWare中的Windows95传输到主机OS?

来自分类Dev

如何将下拉列表中的参数成功传输到 php 文件?

来自分类Dev

如何将logstash中的日志/txt文件管道传输到elasticsearch

来自分类Dev

如何将命令输出通过管道传输到 shell 中的 CSV 文件?

来自分类Dev

如何将 5 个字母的单词传输到新的文本文件中?

来自分类Dev

我应该如何使用C#将CSV文件传输到数据库?

来自分类Dev

如何将(Mutable)Map传输到Kotlin中的数据传输对象类?

来自分类Dev

如何使用Python读取文本文件并传输到字典?

来自分类Dev

如何将在iOS应用程序中创建的文件传输到Mac

来自分类Dev

将大文件流式传输到数据库BLOB字段中

来自分类Dev

将大文件流式传输到数据库BLOB字段中

来自分类Dev

仅将抓取数据中的最后 25 个对象传输到 CSV 文件

来自分类Dev

如何将文件从磁盘流式传输到.Net MVC中的客户端浏览器

来自分类Dev

Shell命令将文件从HDFS传输到Hadoop 2.6.9中的本地文件系统

来自分类Dev

Shell命令将文件从HDFS传输到Hadoop 2.6.9中的本地文件系统

来自分类Dev

将列表传输到困难的分层字典

来自分类Dev

如何从NodeJS中的URL获取文件,构建zip文件并通过管道传输到云存储桶

来自分类Dev

如何将数据从 CosmosDB 中的文档传输到 Azure SQL 数据库?

来自分类Dev

c#将文件从远程计算机传输到终端服务器

来自分类Dev

C++ 将文件从 Qt 传输到外部 USB 驱动器

来自分类Dev

如何将软实时数据从Matlab流传输到C#应用程序?

Related 相关文章

  1. 1

    将tar.gz文件中包含的文件管道传输到bash中的c ++程序

  2. 2

    将数据从C#类传输到XML文件

  3. 3

    将文件管道传输到Sails中的多个源(船长)

  4. 4

    如何将多个远程图像流式传输到一个zip文件中,并使用ExpressJS将其传输到浏览器中?

  5. 5

    管道传输到外壳中的多个文件

  6. 6

    如何将数据流式传输到希望从作为参数给出的文件中读取数据的程序?

  7. 7

    将2D数组传输到文件中并返回

  8. 8

    如何在Elixir中流式传输到文件中?

  9. 9

    如何将文件从VMWare中的Windows95传输到主机OS?

  10. 10

    如何将下拉列表中的参数成功传输到 php 文件?

  11. 11

    如何将logstash中的日志/txt文件管道传输到elasticsearch

  12. 12

    如何将命令输出通过管道传输到 shell 中的 CSV 文件?

  13. 13

    如何将 5 个字母的单词传输到新的文本文件中?

  14. 14

    我应该如何使用C#将CSV文件传输到数据库?

  15. 15

    如何将(Mutable)Map传输到Kotlin中的数据传输对象类?

  16. 16

    如何使用Python读取文本文件并传输到字典?

  17. 17

    如何将在iOS应用程序中创建的文件传输到Mac

  18. 18

    将大文件流式传输到数据库BLOB字段中

  19. 19

    将大文件流式传输到数据库BLOB字段中

  20. 20

    仅将抓取数据中的最后 25 个对象传输到 CSV 文件

  21. 21

    如何将文件从磁盘流式传输到.Net MVC中的客户端浏览器

  22. 22

    Shell命令将文件从HDFS传输到Hadoop 2.6.9中的本地文件系统

  23. 23

    Shell命令将文件从HDFS传输到Hadoop 2.6.9中的本地文件系统

  24. 24

    将列表传输到困难的分层字典

  25. 25

    如何从NodeJS中的URL获取文件,构建zip文件并通过管道传输到云存储桶

  26. 26

    如何将数据从 CosmosDB 中的文档传输到 Azure SQL 数据库?

  27. 27

    c#将文件从远程计算机传输到终端服务器

  28. 28

    C++ 将文件从 Qt 传输到外部 USB 驱动器

  29. 29

    如何将软实时数据从Matlab流传输到C#应用程序?

热门标签

归档