运用C#文件处理技术之调用aspose.Cells.dll库实现excel文件显示

功能说明

运用C#文件处理技术之调用aspose.Cells.dll库实现excel文件显示
读取Excel文件,并展示在dataGridView中完成显示

效果展示

运行:
在这里插入图片描述
点击“添加excel文件”按钮后选择了文件后出现的展示excel的效果如下:
在这里插入图片描述

步骤说明

  1. 用vs创建一个WindowsFormsApp.Net的项目
  2. 引用aspose.Cells.dll库
  3. 使用workbook类加载Excel文件
  4. 将读取的excel文件的数据填充到dataGridView控件中显示

创建项目

创建Windows窗体应用,注意,一定要选择.NET Framework的!~
在这里插入图片描述

引入aspose.Cells.dll库

使用NuGet程序包安装并导入,在工具栏上面找到项目,找到里面的管理NuGet程序包:

在这里插入图片描述
找到Aspose.Cells点击安装即可,过程肯定需要一到两分钟,耐心等待。

在这里插入图片描述
然后在你的资源管理器的引用里面能找到这个库,则说明导入成功了!
在这里插入图片描述

使用workbook类加载Excel文件

首先呢,先从工具栏中拖一个button过来,text属性改为添加excel文件;然后拖一个dataGridView过来,用于到时候展示excel文件的内容;最后还要拖一个openFileDialog过来,用于点击button后导入excel文件。
(样式什么的,根据个人喜欢随便设置就行)
在这里插入图片描述
接下来编写一下这个的代码:
我们需要自己写一个ReadExcelFile()函数,里面传入一个文件地址,然后用这个函数加载数据。首先是new一个Workbook对象,然后读取里面的第一个表(如果里面有很多表,也可以根据需求再改)。然后用创建一个Cells对象来获取工作表里面的所有单元格,并导出为DataTable类型,最后返回这个dataTable

private DataTable ReadExcelFile(string filePath)
        {
            // 创建Workbook对象,加载指定路径的Excel文件
            Workbook workbook = new Workbook(filePath);
            // 获取Excel文件的第一个工作表
            Worksheet worksheet = workbook.Worksheets[0];
            // 获取工作表的所有单元格
            Cells cells = worksheet.Cells;
            // 将单元格的数据导出为DataTable,参数true表示将首行作为列标题
            DataTable dataTable = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
            return dataTable;
        }

将读取的excel文件的数据填充到dataGridView控件中显示

这个时候就需要用上openFiledialog了,首先先创建一个button1_Click事件,这个事件里面调用这个openFiledialog,让我们所选择的文件路径作为filePath传递给我们上面定义的那个函数,调用那个函数,把返回的dataTable传回给dataGridView1,展现出来。
记得设定一个openFileDialog1的Filter,这样我们在选择文件的时候可以提示我们,要选择的是一个excel的文件,类型为.xls;.xlsx;.xlsm。

private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string filePath = openFileDialog1.FileName;
                DataTable dataTable = ReadExcelFile(filePath);
                dataGridView1.DataSource = dataTable;
            }
        }

源代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Aspose.Cells;

namespace WindowsFormsAppExcel
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string filePath = openFileDialog1.FileName;
                DataTable dataTable = ReadExcelFile(filePath);
                dataGridView1.DataSource = dataTable;
            }
        }
        private DataTable ReadExcelFile(string filePath)
        {
            // 创建Workbook对象,加载指定路径的Excel文件
            Workbook workbook = new Workbook(filePath);
            // 获取Excel文件的第一个工作表
            Worksheet worksheet = workbook.Worksheets[0];
            // 获取工作表的所有单元格
            Cells cells = worksheet.Cells;
            // 将单元格的数据导出为DataTable,参数true表示将首行作为列标题
            DataTable dataTable = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
            return dataTable;
        }
    }
}


总结

本文讲的是利用Aspose.Cells库在C# Windows Forms应用程序中实现对Excel文件的读取,并将读取到的数据显示在dataGridView控件中。首先设计了一个简单的UI界面,包括一个按钮和一个dataGridView控件。然后通过点击按钮触发一个文件选择对话框,选择特定的Excel文件进行加载。

关键技术点在于:用OpenFileDialog选择文件、用Workbook读取文件、用DataTable数据显示。

如果您感觉有帮助,希望您能点个赞,谢谢!不足之处也欢迎您在评论区指正!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值