C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView

这篇具有很好参考价值的文章主要介绍了C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.首先要创建xlsx文件

C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView,winform,excel,c#

2.在Com中添加引用

C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView,winform,excel,c#

3. 添加命名空间

        using ApExcel = Microsoft.Office.Interop.Excel;

        --这样起个名字方面后面写

4.样例


        //点击操作excel
       
            DataTable dt = new DataTable();
            string fileName = @"D:\desktop\tmp\test.xlsx";
            ApExcel.Application exApp = new ApExcel.Application();
            ApExcel.Workbooks wbs = exApp.Workbooks;
            ApExcel.Workbook _wbs = null;
            try
            {
                //打开已有excel文件
                _wbs = wbs.Add(fileName);   //这个就是要这样子来的,就很奇怪
                ApExcel.Worksheet sheet = _wbs.Worksheets["Sheet1"];    //判断要操作哪个表
                int rcount = sheet.UsedRange.Rows.Count;    //使用了多少行和列
                int colcount = sheet.UsedRange.Columns.Count;

                ///注意,这里的所有都是索引都是以1开头的

                //excel中的第一行是dgb的标题
                for (int i = 1; i <= colcount; i++)
                {
                    //这个是设置列的哈,要设置好列才能使用才能添加DataRow
                    dt.Columns.Add(((ApExcel.Range)sheet.Cells[1, i]).Value);   //添加列,将Cell转换为Range
                }

                for (int i = 2; i <= rcount; i++)
                {
                    DataRow dr = dt.NewRow();
                    for (int j = 1; j <= colcount; j++)
                    {
                        //dt的索引从0开始
                        dr[j - 1] = ((ApExcel.Range)sheet.Cells[i, j]).Value;
                    }
                    dt.Rows.Add(dr);
                }

                this.dataGridView1.DataSource = dt;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                _wbs.Close();
                wbs.Close();
                exApp.Quit();
            }

5.获取sheet.Cells值的时候也可以不使用强制转换,还要注意这个的下标是从1开始的文章来源地址https://www.toymoban.com/news/detail-681527.html

到了这里,关于C# Winfrom通过COM接口访问和控制Excel应用程序,将Excel数据导入DataGridView的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#调用COM接口的三种方式

    使用OLEView.exe查看本机安装的COM组件CLSID和接口Guid   COM组件的提供者没有提供CLSID等信息或信息提供不全时,可以使用OleView.exe来查看其类和接口的GUID. OLEView.exe全称是OLE-COM Object Viewer,是Microsoft SDK中包含的一个工具,可以用来查看本机安装的所有COM组件的信息,包括CLSID、

    2024年02月04日
    浏览(66)
  • 【VB6|第19期】vb6通过COM组件操作Excel

    日期:2023年7月3日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得 有所帮助 ,帮忙 点个赞 ,也可以 关注我 ,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01 365 = 37.7834;0.99 365 = 0.0255 1.02 365 = 1377.4083;0.98

    2024年02月12日
    浏览(44)
  • pywintypes.com_error: (-2147352567, 发生例外狀況。‘, (0, ‘Microsoft Excel‘, ‘Microsoft Excel 不能访问文件

    最近需要使用win32COM操作excel 但发现excel SaveAs保存的时报错: pywintypes.com_error: (-2147352567, 发生例外狀況。\\\', (0, \\\'Microsoft Excel\\\', \\\'Microsoft Excel 不能访问文件 起初以为很简单,于是百度发现很多类似问题: 1. https://www.cnblogs.com/vhills/p/8098715.html 2.https://blog.csdn.net/PlusChang/article/details/729

    2024年02月03日
    浏览(45)
  • C# 给winfrom窗体添加皮肤控件

    如何快速给C# winform添加好看的皮肤C# Winform中窗体的美化 SkinEngine的应用 皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载  压缩包内一共有22种皮肤素材,使用说明:把控件拖到你的form上,只需一行代码,即可实现整个form包括其所有控件的皮肤的更换,  总共有几十套皮肤

    2024年02月05日
    浏览(49)
  • 机器人过程自动化(RPA)入门 6. 通过插件和扩展易于控制应用程序

    到目前为止,您已经学习了如何记录自动化步骤,还学习了控制流以及变量和数据表的使用。最重要的部分是理解和掌握控制。除非您能够正确地识别应用程序的控件,否则不可能成功地实现流程自动化。现在,在本章中,我们将学习如何使用外部插件和扩展。除了基本的提

    2024年02月19日
    浏览(60)
  • C#之Winfrom自定义输入框对话框。

    在你的程序中,在需要触发输入框的地方添加一个按钮或其他事件处理器。例如,你可以在按钮点击事件中执行相应的代码和逻辑。 通过以上步骤,你可以在 WinForms 程序中创建一个带有输入框的自定义窗体,并在点击确定按钮后获取用户输入的值。确保根据实际需求修改输

    2024年02月14日
    浏览(37)
  • WinFrom、C# 学习记录五 开发一个鼠标自动点击小软件

            经常会被问到需要点击软件的,主要都是玩游戏的盆友,但是也有其它用途的。所以简单弄了一个,打算每当有时间,有需求,就加一些小功能。         这里主要是要记录一下相关开发工作,也记录一些使用/更新的信息。         【2022/08/22】版本v1.0(初始版

    2024年02月16日
    浏览(51)
  • OFFICE报错:无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型

    无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 库没有注册。 (异常来自 HRESULT:0x

    2024年02月11日
    浏览(63)
  • C# Winfrom实例:武汉智能安检闸机数据接收和解析

    项目介绍: 本实例主要是接收安检闸机的数据解析并显示到界面上,只做功能实现,不做界面美化 硬件:闸机一个、网线一根、电脑主机 开发环境:vs2017 系统:win10 涵盖知识点:tcp通讯、文件写入、多线程,委托、类型转换等 软件操作流程: 点击开始监听按钮,8999要是未

    2024年02月19日
    浏览(36)
  • C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

       1.所述产品 产品型号: TFmini Plus 相关资料下载地址:http://www.benewake.com/download 产品名称:TFmini Plus激光雷达模组 制造商 公司:北醒(北京)光子科技有限公司  2.产品功能:TFmini Plus是基于TFmini的升级项目,它是一款小型化,单点测距的产品,基于TOF(飞行 时间)原理,

    2024年02月19日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包