winform 读取Excel文件

2023-12-26 10:52:06

使用 nuget 添加依赖库:Microsoft.Office.Interop.Excel

电脑要安装微软的Excel,由于是借助Excel的COM组件,所以打开文件要传绝对路径,以下是读取Excel的代码:

using System;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;

namespace ExcelExample
{
    internal class Example
    {
        public void ReadExcel(string path)
        {
            if (!File.Exists(path))
            {
                return;
            }
            var excel = new Excel.Application();
            excel.Visible = false;//设置为True的话,会显示Excel应用的窗口
            Excel.Workbook workbook = excel.Application.Workbooks.Open(path);
            Excel.Worksheet sheet = null;
            // 从1开始
            for (int i = 1; i <= workbook.Worksheets.Count; i++)
            {
                sheet = workbook.Worksheets[i] as Excel.Worksheet;
                //Console.WriteLine("sheet name: " + sheet.Name);
                if (sheet.Name == "Sheet1")
                {
                    break;
                }
            }
            if (sheet == null) return;

            Excel.Range range = sheet.UsedRange;//有效范围(有数据的单元格)
            int rowCnt = range.Rows.Count;
            Excel.Range cell;
            //行号列号都是从1开始
            Console.WriteLine("行数: " + rowCnt);
            for (int row = 1; row <= rowCnt; row++)
            {
                Console.Write($"row {row} # ");
                cell = (Excel.Range)sheet.Cells[row, 8];//8是列号,第一列是1
                if (cell != null && cell.Value != null)
                {
                    string value = cell.Value.ToString();
                    Console.Write(value);
                }
                Console.WriteLine();
            }
            excel.Quit();
        }
    }
}

文章来源:https://blog.csdn.net/jjf19891208/article/details/135214245
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。