
C#实战开发历程
文章平均质量分 67
本栏主要涉及的是C#编程,整理的都是一些本人开发以来总结的一些经验和技巧,希望可以帮到有需要的同仁。
ProgramNotes
这个作者很懒,什么都没留下…
展开
-
C#实战030:如何区分前后台同名进程
最近有个程序一直在后台运行,每次运行都有好几个进程并且占用了电脑的大部分内存,导致电脑运行特别卡,但是有不能完全关闭,所以我就想关闭其他后台进程,只保留前台的进程。 这里我用的是Process类,引用using System.Diagnostics;即可使用。通过Process可以获取到进程的以下属性:名称 说明 BasePri...原创 2018-12-27 23:12:53 · 1751 阅读 · 0 评论 -
C#实战029:FANUC开发-动态链接库Dll使用
要开发FANUC程序,首先要做的就是引入FANUC提供的动态链接库Dll,只有正确的引入FANUC提供的动态链接库Dll,才能通过相应的DLL文件调用其提供的函数。 在c#中我们平时引用动态链接库Dll都在是在项目名上右击选择“添加应用”的方式将动态链接库Dll导入项目中,但是FANUC提供的动态链接库Dll无法直接这样导入,因为他没有托管到公共语言运行库,所以无法直接调用...原创 2018-12-06 09:00:38 · 5744 阅读 · 2 评论 -
C#实战028:OleDb操作-Excel数据写入
前面写了C#实战021:OleDb操作-新增Excel中的sheet工作表,接下来我们就要在新增的表中添加数据了,在网上找了很多方法,都没有OleDb对excel表操作批量操作,后来通过对mysql的研究终于还是找到了合适的方法。我们先来新建一个带表头的空表单,为表单先创建个表头,相当于在mysql先建立些空字段。OleDbCommand cmd = myCon.CreateComm...原创 2018-12-05 08:44:10 · 1461 阅读 · 0 评论 -
C#实战027:socket实现大文件传输
前面写了一个单文件传输的,后来发现当传送的文件大于设置的缓存空间时,文件就会出现丢包的现象,导致文件无法使用,所以为了适应大文件的传输,这里我将代码进行了下修改,实现大文件传输。不过socket实现大文件传输有个缺点,由于传输过程是通过字节缓存发送,接受也是读写字节,导致整个传输过程效率不高,我尝试了一个169MB的视频文件传输,虽然传完了,但是耗时将近1小时。因为计算机缓存有限,...原创 2018-12-04 19:37:53 · 11829 阅读 · 8 评论 -
C#实战026:socket实现单文件传输
实现简单的信息通信,接下来我们要继续来是实现文件的传输,同样这次先试试单个简单的小文件传输,首先先说说原理,这次我们先对文件进行文件名获取,将文件名以信息传输的形式的先传递给服务端,目的是让服务器知道我们要发送的文件名及文件类型,接着再来发送文件,这里我们需要将文件转化成字节形式发送,然后再把接收到的字节写入到文件中。这里用到了Forms窗口程序来获取需要传送的文件,大家可以参考:C#...原创 2018-12-03 17:32:20 · 1099 阅读 · 1 评论 -
C#实战025:控制台调用Forms窗口程序
今天写socket文件传输时要用到选择文件功能,那就就要在控制台状态下弹相应的窗口,这样才能方便选择自己所需要的文件,但是用控制台调用Froms窗口很少有人用,找半天都找不到方法(比如说我们要打开选择文件的窗口)。在Windows窗体程序中药调用窗体程序只要直接将工具箱中的控件直接拖拽到Forms中即可,而要弹出打开选择文件的窗口,只要在相应的按钮中写入以下代码即可实现:OpenF...原创 2018-12-01 14:45:06 · 2724 阅读 · 0 评论 -
C#实战024:利用Socket进行双向信息通信
项目开发过程中需要通过服务器获取设备的信息状态,这时我们就需要在设备端开启监听来获取服务器发来的消息并执行相应程序来获取设备的参数,这个过程我们需要利用Socket进行通信,这时服务器是发送数据,设备为接受数据,所以这里我们定义服务器为客户端SocketClient,设备为服务端SocketServer。Socket用到的几个方法: Socket():创建一个Socket对...原创 2018-11-30 22:30:31 · 3248 阅读 · 0 评论 -
C#实战023:解决添加xxx.dll的引用时报错,请确保xxx是有效的程序集或者COM组件
今天在引入第三方dll时弹出错误提示【未能添加对“xxx.dll”的引用。请确保此文件可访问并且是一个有效的程序集或者COM组件】,正常情况下在解决方案中添加引用:右键鼠标–>添加引用–>浏览–>选择xxx.dll文件,点击“确定”,然后再在引用管理器中选择文件进行引用,但是今天怎么也没法引入该dll。C#添加引用的类库需要这个Dll本身是.net的程序集,或者...原创 2018-11-28 17:20:39 · 30892 阅读 · 0 评论 -
C#实战022:如何关闭Windows服务及进程-去除桌面水印
公司电脑加域之后总是有水印在桌面上,看什么都不方便,特别是在编程的时候,代码很来就很多,又密密麻麻的,再上水印根本没法发现错误在哪里。关闭进程马上又会生成水印的,根本是没法去除,为了去除水印,只能现在服务中找到相应的服务将其停掉然后再将进程杀掉,这样服务才不会再启动,不过还存在一个问题就是每次重启又会启动服务,水印就又回来了......每次开机都要操作一遍特别繁琐,所...原创 2018-11-27 10:52:24 · 3135 阅读 · 0 评论 -
C#实战021:OleDb操作-新增Excel中的sheet工作表
获取到lExcel中的sheet中的所有工作表,我们就可以来创建新的sheet工作表了,首先我们判断下Excel中的sheet中的所有工作表中是否存在我们需要创建的sheet工作表,如果没有的话我们在创建。OleDbCommand cmd = myCon.CreateCommand();//创建工作表命令string sheetName = "刀具预估数量";if (tabl...原创 2018-11-21 23:40:05 · 2772 阅读 · 0 评论 -
C#实战020:OleDb操作-获取Excel中的sheet工作表
前面用Excel组件写了一个程序,用来计算市场部的刀具使用明细,但是 发现整个计算过程频繁的操作Excel表,导致计算时间较长,数据不怎么多 却话费了3-4分钟的计算时间,所以效率太低了。 所以接下来准备用OleDb操作来实现这同样的功能,首先我们来获取Excel中的所有sheet的工作表,链接数据库之后通过GetOleDbSchemaTable来获取Exce...原创 2018-11-21 23:30:27 · 2189 阅读 · 0 评论 -
C#实战019:利用winRAR简易打包exe程序
程序写完之后我们就要对软件进行打包了,但是公司电脑加域了,没法再电脑上安装软件,所以只能给源程序给对方使用,但是这样就会比较凌乱,不方便使用,所以这里我就用winRAR做个简易的打包。选中需要进行压缩的文件夹,单击鼠标右键,选择“添加到压缩文件”选中需要进行压缩的文件,单击鼠标右键,选择“添加到压缩文件(A)”接着在弹出的“压缩文件名和参数”窗口中,在“常规”选项卡中...原创 2018-11-20 12:22:52 · 1933 阅读 · 0 评论 -
C#实战018:Excel操作-多个List集合合并问题
今天提取Excel中的数据到集合中,然后再将集合进行合并,以获取所有的数据再写入到Excel中,于是我创建了多个list集合,然后分别获取需要的数据,这里我们用了5个集合,z1、z2、z3、z4是分别从excel提取的数据,而z这是用来合并z1、z2、z3、z4中的数据的,在将其进行合并,结果出现异常了:List<string> z1 = new List<...原创 2018-11-15 18:21:58 · 1030 阅读 · 1 评论 -
C#实战017:Excel操作-计算单元格时出现的类型转换问题解决
今天遇到个问题,在A表中提取值a,在B表提取值b,然后再将a、b的值计算到C表中,由于要牵涉到计算,所以要把获取的数据进行类型转换,这里我们本来是想用Convert.ToInt32进行强制转换的,结果在运算的时候出现问题,循环一次之后就报错了,而第一次获取的数据却又是对的。。。将a注释掉,b数据能全部获取的到,但注释掉b来获取a数据时就出现了问题,同样是循环数据并强制转换,b能成功...原创 2018-11-14 22:05:29 · 669 阅读 · 0 评论 -
C#实战016:Excel操作-设置单元格属性
获取单元格之后我们需要对单元格进行操作,比如过单元格宽、单元格高、单元格背景色、单元格边框等等。App = new Application(); //创建 Excel对象object missing = Missing.Value; //获取缺少的object类型值wb = App.Workbooks.Open(ExcelName, missing, ...原创 2018-11-14 20:49:49 · 1922 阅读 · 0 评论 -
C#实战014:Excel操作-获取Excel工作表明细
昨天新增工作表时忽略了一个问题,那就是当你所建的表已经存在时程序就报错了,所以这里我们先获取sheet工作表明细,然后进行比对,当没有时创建,有则跳过。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Ta...原创 2018-11-12 09:46:46 · 862 阅读 · 0 评论 -
C#实战013:Excel操作-给Excel指定单元格赋值
可以获取数据,我们也需要可以修改或者赋值给指定的单元格,需要指定行、列以及要给的赋值using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Interop.Excel;...原创 2018-11-11 19:13:27 · 8736 阅读 · 0 评论 -
C#实战012:Excel操作-获取Excel某一行数据并存入数组
前面获取了Excel某一列数据并存入数组,接着我们继续获取Excel某一行数据并存入数组,方法基本一致,就一点小小的改动,以下是完整的代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using...原创 2018-11-11 18:32:17 · 9648 阅读 · 5 评论 -
C#实战011:Excel操作-获取Excel某一列数据并存入数组
操作Excel中的数据才是操作Excel的意义所在,不然前面忙活那么久就就没任何意义了,同样直接附上代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Inter...原创 2018-11-11 17:24:32 · 17243 阅读 · 0 评论 -
C#实战010:Excel操作-查询Excel中的数据
基本操作搞定我们就可以来对数据进行操作了,先来个查询,找到你想要的数据先,废话不多说,直接附上带代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Interop...原创 2018-11-11 16:35:47 · 4974 阅读 · 2 评论 -
C#实战009:Excel操作-删除指定的Excel工作表
会创建当然少不了删除了,接下来我们接着删除指定的工作表吧。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Interop.Excel;using System.D...原创 2018-11-11 15:42:17 · 5859 阅读 · 2 评论 -
C#实战008:Excel操作-创建新的Excel工作表
接下来我们接着新建Excel工作表,在新建Excel文件基础上新增工作表。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Interop.Excel;using ...原创 2018-11-11 15:14:51 · 7312 阅读 · 0 评论 -
C#实战007:Excel操作-创建Excel并保存
这是通过Excel组件进行Excel文件创建并保存的方法,注释都写在程序中了。using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Office.Interop.Excel;usin...原创 2018-11-11 14:17:49 · 3098 阅读 · 0 评论 -
C#实战006:Excel操作-打开Excel文件
为了在操作时更具可见性,这时我们就喜欢运行Excel文档来查看我们的操作变化,所以如何打开Excel文件也是有必要知道的using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.IO;usin...原创 2018-11-10 22:07:31 · 2920 阅读 · 0 评论 -
C#实战005:Excel操作-引入Microsoft.Office.Interop.Excel组件
能读到Excel工作簿,现在我们接着再来创建工作簿,OleDb通过Microsoft Jet提供程序连接到 Excel 工作簿,然后将Excel文件作为数据源来读写,直接用Sql语句来操作数据,并且不需要安装Office Excel就可以使用,所以用OLEDB方式读取EXCEL的速度是非常快的,但是只能够进行有限的操作。所以在操作Excel上并不方便,所以这里我们Office 的E...原创 2018-11-10 10:53:18 · 14239 阅读 · 0 评论 -
C#实战004:Excel操作-读取Excel工作簿
成功链接上Excel文件之后我们就可以开始读取该Excel,首先我们先来读取Excel下有几个工作簿//-----------------------------读取Excel工作簿-------------------------------List<string> tableName = new List<string>();//创建泛型类,用于存储读取的表单列...原创 2018-11-10 10:18:56 · 1341 阅读 · 0 评论 -
C#实战003:Excel操作-OleDb链接Excel
OleDb把excel文件作为数据源来读取,直接用Sql语句来操作数据,并且不需要安装Office Excel就可以使用,所以用OLEDB方式读取EXCEL的速度是非常快的。但是当Excel数据量很大时,会非常占用内存,当内存不够时会抛出内存溢出的异常,容易丢失数据,因为是Sql语句来操作数据的,所以灵活性较低,如果你处理的数据不大且无需复杂操作时可以使用OLEDB方式读写EXCEL。...原创 2018-11-10 09:56:31 · 1357 阅读 · 1 评论 -
C#实战015:Excel操作-字符编码转换
在读取Excel时遇到一个问题,那就是读取出来的单表出现了乱码的现象,我们可以看到很多汉字无法识别出来。 在存入时对字符编码进行指定:public void getHeader(string sheetName, List<string> listName) { Worksheet ws = ((Works...原创 2018-11-12 14:23:08 · 1417 阅读 · 0 评论 -
C#实战002:路径转义
当我们在为一个变量赋值路径时我们经常遇到错误提示“无法识别的转义序列”,string ExcelPath = "C:\Users\Administrator\Desktop\test.xlsx";在C#语言中\(一个杠)用来作特殊任务,表示转义字符,例如:\n 表示换行,所以在windows中要表示文件路径中多个目录之间的\时要用\\分隔,再转移一次。string ExcelP...原创 2018-11-09 08:56:10 · 5230 阅读 · 0 评论 -
C#实战001:解决VS2012未找到与约束
今天想用c#写个程序,结果创建项目的时候竟然出现(之前还好好的):未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService好久没用visual studio 了,一启动就出现更新提示,当时也没想太多,直接更新了。。。问题应该就出在更新上,更新后导致不能正常使用。 未了避免下...原创 2018-11-08 20:49:27 · 1736 阅读 · 0 评论