如何使用C#从excel的第一列中获取不同的值及其计数
本文关键字:获取 一列 何使用 excel | 更新日期: 2023-09-27 18:28:05
我的excel工作表"abc.xls"包含4列,如以下A至D列,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次。
一旦提取了这些信息,我想以以下方式使用任何只读控件列表框、标签、文本框在windows窗体上显示输出:-
100 : 2
1000 : 2
800 : 1
700 : 1
600 : 1
您可以使用类似于下面代码段的代码通过excel循环。例如,您可以将值存储在字典Dictionary<int,List<string>>
中,以存储从每列收集的字符串值。然后,使用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);
}
}
}
}
}