Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C从excel的第一列获取不同的值及其计数?_C#_Winforms - Fatal编程技术网

C# 如何使用C从excel的第一列获取不同的值及其计数?

C# 如何使用C从excel的第一列获取不同的值及其计数?,c#,winforms,C#,Winforms,我的excel工作表abc.xls在A到D列中包含如下4列,A1:D1包含标题信息,即样本编号、时间、名称、人员:- Sample number Time Name Man 100 28-10-2014 20:24 absjsdj abc 1000 28-10-2014 20:13 def jss 800 29-10-2014

我的excel工作表abc.xls在A到D列中包含如下4列,A1:D1包含标题信息,即样本编号、时间、名称、人员:-

Sample number   Time                Name           Man
100             28-10-2014 20:24    absjsdj        abc
1000            28-10-2014 20:13    def            jss
800             29-10-2014 20:13    skdjksj        def
100             30-10-2014 20:13    skdjksj        def
1000            31-10-2014 20:13    skdjksj        def
700             01-11-2014 20:13    skdjksj        def
600             02-11-2014 20:13    skdjksj        def
使用c代码,我已使用以下代码打开此excel文件;现在,我需要帮助实现该功能:

using Excel = = Microsoft.Office.Interop.Excel;
Excel.Application excelApp = new Excel.Application();
                    excelApp.DisplayAlerts = false;

                    Excel.Workbook xlWorkBook;
                    Excel.Worksheet xlWorkSheet;
                    xlWorkBook = excelApp.Workbooks.Open("abc.xls");
                    xlWorkSheet = (Excel.Worksheet)xlWorkBook.ActiveSheet;
从A列中得到不同的数字,也就是说,从这个excel数据中,我们应该得到100,1000,800,700,600以及每个样本数发生的次数,比如100发生2次,1000发生2次,800发生1次,700发生1次,600发生1次

提取该信息后,我希望使用任何只读控件listbox、label、textbox以以下方式在windows窗体上显示输出:-

100  : 2
1000 : 2
800  : 1
700  : 1
600  : 1
您可以使用类似于下面代码段的代码在excel中循环。 例如,您可以将值存储在字典中,以存储从每列收集的字符串值。 然后,使用DateTime.Parse、int.Parse等将其转换为date、int、float或其他您需要的数据类型

using Excel = Microsoft.Office.Interop.Excel;

class Program
{
    static void Main(string[] args)
    {
        ReadExcel.PrintAllCells(@"D:\some_place\some_excel.xlsx");
    }

}
public class ReadExcel
{
    public static void PrintAllCells(string location)
    {
        Excel.Application xlApp = new Excel.Application();
        Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(location);


        foreach (var xlWorksheet in xlWorkbook.Worksheets)
        {
            Excel.Range xlRange = xlWorksheet.UsedRange;
            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;

            // LOOPING THROUGH EXCEL CELLS STARTS WITH 1 
            // NOT WITH 0

            for (int column = 1; column < colCount; column++)
            {
                for (int row = 1; row < rowCount; row++)
                {

                    var CellData = xlRange.Cells[row, column].Value;
                    Console.WriteLine(CellData);

                }

            }

        }

    }

}

您可以使用LinqToExcel nuget软件包…希望了解您的尝试。我不确定如何实现此目的..因此需要有关相同的帮助..您希望回答什么具体问题?到目前为止,你一直在做什么?我已经用上面的代码打开了excel文件。现在我需要编写c代码来实现上面解释的excel上的搜索。