excel 赋值x_c#实现一例Excel自动化小工具

本文介绍了如何使用C#和Windows Forms实现Excel自动化工具,简化重复性工作。通过创建窗体应用程序,利用interop.excel API进行单元格操作,包括文字信息录入、插入OLE对象和图片,以及热键绑定功能,提高工作效率。
摘要由CSDN通过智能技术生成

工作是枯燥的,重复性的工作,更是枯燥中的枯燥;不幸的是,最近有个非常枯燥而又繁重的任务,让我老眼昏花心跳加速,感叹时光补与,其实任务很简单,就是统计客户订单后,需要把订单的属性保存到excel上传存档……

在一遍又一遍地打开excel以后,我发现这些订单有一个特点:订单号是递增的,而属性,绝大部分是重复的,于是我的偷懒天赋躁动不安起来,我不禁思考:能不能让电脑自动化操作,帮我分担一些任务呢?

说到自动化脚本,最早我是想用python的,但pyQt操作excel的库不太方便,我甚至异想天开地想用win API……

不过,等等!

既然说到win,为什么不用微软全家桶呢?

通过百度大法,我知道了C#+VS+winform这样糖分巨高的组合,而对于excel的脚本,微软贴心地准备好了各种api接口给你调用,这……比python的excel库不知高到哪里去了。(虽然用起来稍微麻烦一点)

接下来花了一天时间简单浏览了一下c#的官方教程,然后又扫了一眼excel的库,不得不说,MSDN太贴心了。

好了,预热结束,准备开搞,不过,在开搞之前,我得先准备点东西:

1,下载并安装VS2019 community,全程next无压力,就是……安装包有点大。好在我的百兆水管还能凑活;
2,将浏览器搜索工具由百度切换为bing,既然是面向搜索引擎编程,那就得换个好的工具不是(主要是bing对msdn特别友好,官方文档一搜就有)

做完这些准备工作之后,那就开始编(ctrl + C)程(ctrl + V)吧!

工具由三个主要部分组成:

  • 录入界面
  • excel操作
  • 截图保存

1,录入界面

这部分主要是考虑工具的可视化,用界面把重复信息录入,方便后续批量操作。

至于界面,当然用winform了,如果不需要用界面,跳过此步骤即可。

1.1创建窗体应用程序

79963454fd57726bd88d1b5d7e0ce095.png

1.2拖控件

b479aa3850ae8e3edc17aac9628fe059.png
左侧为控制窗口,右侧为设计窗口

ffe09afac3fd1b73705bb0df267e2b99.png

1.3写代码

直接在控件上双击,就能写相应的代码了,比如,我这个需要录入单号、厂家、客户信息,然后自动赋值给我的excel操作类,那么可以直接 在文本框双击,写下以下代码:

  private void textBox_OC_TextChanged(object sender, EventArgs e)
        {
    
            newReport.orderingCode = this.textBox_OC.Text;
        }

我需要实现点击Generate即自动生成报告,那么双击Generate控件,直接写代码:

private void button_Generate_Click(object sender, EventArgs e)
        {
            Task task = new Task(SaveFile);
            task.Start();
        }

具体的操作后面再细讲。

2,excel操作

微软针对office互操作提供了API,官方文档如下,我只需要操作excel即可。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel?view=excel-pia​docs.microsoft.com

2.1 interop.excel介绍

excel的API操作逻辑是这样的:excel应用->workbook->worksheet->cell

第一步:创建一个excel应用:

excelApp = new Microsoft.Office.Interop.Excel.Application();
excelApp.Visible = false;//这里将excel设为不可见,如果你想看到excel自动操作的界面,那么可以设为true

第二步:创建workbook和worksheet

Workbook wkb = excelApp.Workbooks.Add();//新建
//Workbook wkb = excelApp.Workbooks.Open(filename);//打开一个现有文件,文件名为filename; 
Worksheet wks = wkb.Worksheets["Sheet1"];

需要注意的是,如果本机没有安装office,是不能打开现有excel文件的,只能创建(为啥提这个,因为我电脑上只装了WPS)。

第三步:操作单元格:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值