C# 对Excel操作与分析
今天帮现在饿公司写个工具,要动态读excel上的ip地址与端口号,来更改IE的代理地址,由于好久没写Excel的操作了,只能查阅以前的项目,总结一下:
首先我们要引用我们的com接口的excel
Microsoft.Office.Interop.Excel.Application excel对象表示 Excel 应用程序本身。Application 对象公开了大量有关正在运行的应用程序、应用于该实例的选项以及在该实例中打开的当前用户的对象的信息。
注意:我们不能将Excel 中 Application 对象的EnableEvents 属性设置为 false。将此属性设置为 false 将阻止 Excel 引发任何事件,包括宿主控件的事件。
workbook对象
Microsoft.Office.Interop.Excel.Workbook 类表示 Excel 应用程序中的单个工作簿
Worksheet 对象
Microsoft.Office.Interop.Excel.Worksheet 对象是 Worksheets 集合的成员。Microsoft.Office.Interop.Excel.Worksheet 的许多属性、方法和事件与 Application 或 Microsoft.Office.Interop.Excel.Workbook 类提供的成员完全相同或相似。
Excel 提供 Sheets 集合作为 Microsoft.Office.Interop.Excel.Workbook 对象的属性,但是 Excel 中没有 Sheet 类。相反,Sheets 集合的每个成员都是一个 Microsoft.Office.Interop.Excel.Worksheet 对象,或者是一个 Microsoft.Office.Interop.Excel.Chart 对象
Range 对象
Microsoft.Office.Interop.Excel.Range 对象是 Excel 应用程序中最常用的对象。在能够处理 Excel 内的任何范围之前,必须将它表示为 Range 对象,并处理该对象的方法和属性。Range 对象表示一个单元格、一行、一列、包含一个或多个单元格块(可以连续,也可以不连续)的单元格选定范围,甚至多个工作表中的一组单元格。
写操作:
Microsoft.Office.Interop.Excel.ApplicationClass MyExcel = newMicrosoft.Office.Interop.Excel.ApplicationClass();
MyExcel.Visible = false;//excel是否可见
MyExcel.DisplayAlerts = false;//屏蔽一些弹出窗口
Microsoft.Office.Interop.Excel.Workbooks MyWorkBooks = MyExcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook MyWorkBook = MyWorkBooks.Add(System.Type.Missing);
Microsoft.Office.Interop.Excel.Worksheet MyWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)MyWorkBook.Worksheets[1];//指定一个sheet页
Microsoft.Office.Interop.Excel.Range MyRange = MyWorkSheet.get_Range("A1", "D1");//我们指定一个指定的区域我们也可以动态设置Range区域,
最后将DataTable之类的数据转换成二维数组赋值给这个区域,
object[,] MyData;
MyRange.Value2 = MyData;
如果就单个值给excel我们可以
MyWorkSheet.get_Range("A1",System.Type.Missing).value2="aaaaaaaaa";
读操作:
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
object Nothing = System.Type.Missing;
excel.Application.Workbooks.Open(Application.StartupPath + "\\RedEx.xls", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing,Nothing,Nothing,Nothing); //打开一个工作薄
Microsoft.Office.Interop.Excel.Workbooks wbs = excel.Workbooks
Microsoft.Office.Interop.Excel.Workbook wb = wbs[1];
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets["Sheet1"];
string sExA =ws.get_Range("A"+num, System.Type.Missing).Value2.ToString();
string sExB = ws.get_Range("B" + num, System.Type.Missing).Value2.ToString();
利用excel分析
//加载宏
Microsoft.Office.Interop.Excel.ApplicationClass MyExcel;
MyExcel.AddIns["分析工具库 - VBA 函数"].Installed = false;
MyExcel.AddIns["分析工具库 - VBA 函数"].Installed = true;
利用宏来分析,可以在excel录制宏查看名称
MyWorkSheet是工作页
MyExcel.Run("Pttestm", MyWorkSheet.get_Range("E2", "E" + iCount.ToString()), MyWorkSheet.get_Range("H2", "H" + iCount.ToString()), MyWorkSheet.get_Range("M2", System.Type.Missing), false, 0.05, 0, System.Type.Missing, System.Type.Missing, System.Type.Missing,
System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing,
System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing,
System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing
, System.Type.Missing, System.Type.Missing, System.Type.Missing);
C# 对Excel操作与分析的更多相关文章
- python基础——15(加密、excel操作、ini文件操作、xml操作模块及数据格式分类)
一.加密模块 1.有解密的加密方式(base64) #base64加密 import base64 str_encrypt = input("输入要加密的字符串:\n") base ...
- Python+Excel 操作对比
前言 从网页爬下来的大量数据需要excel清洗成堆的科学实验数据需要导入excel进行分析作为一名面向逼格的Python程序员该如何合理而又优雅的选择生产力工具呢? 得益于辛勤劳作的python大神们 ...
- Npoi导入导出Excel操作
之前公司的一个物流商系统需要实现对订单的批量导入和导出,翻阅了一些资料,最后考虑使用NPOI实现这个需求. 在winform上面实现excel操作:http://www.cnblogs.com/Cal ...
- Delphi Excel 操作大全
Delphi Excel 操作大全 (一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObj ...
- C#EXCEL 操作类--C#ExcelHelper操作类
主要功能如下1.导出Excel文件,自动返回可下载的文件流 2.导出Excel文件,转换为可读模式3.导出Excel文件,并自定义文件名4.将数据导出至Excel文件5.将指定的集合数据导出至Exce ...
- Excel 操作类
转载:http://www.cnblogs.com/fellowcheng/archive/2010/08/21/1805158.html ExcelHelper(Excel2007) Code hi ...
- C# excel操作
开源的Excel操作项目: http://www.cnblogs.com/lwme/archive/2011/11/27/2265323.html 添加引用:Microsoft Excel 11.0 ...
- [Excel操作]Microsoft Office Excel 不能访问文件
最近,客户服务器迁移,因操作系统环境变化而引起的的环境问题一堆,遇到的问题并解决方法在“[Excel]操作”类别会体现. Microsoft Office Excel 不能访问文件“C:\\LMSEx ...
- C#常用工具类——Excel操作类
/// 常用工具类——Excel操作类 /// <para> ------------------------------------------------</para> / ...
随机推荐
- gpu/mxGPUArray.h” Not Found
https://cn.mathworks.com/matlabcentral/answers/294938-cannot-find-lmwgpu More specifically change th ...
- s21day09 python笔记
s21day09 python笔记 一.三元运算(三目运算) 用途:用于简单的if条件语句 基本结构 v = 前面 if 条件 else 后面 #如果条件为真,v = 前面,否则,v = 后面 &qu ...
- SQL-记录删除篇-007
删除记录: delete * from table_name 解释:删除表中的所有数据 delete * from table_name where id<10 解释:删除表中id小于10的数据 ...
- poj 3264 倍增 ST表
#include<iostream> #include<cmath> using namespace std; ; int a[maxn]; ]; ]; int quick(i ...
- 关于函数式编程(Functional Programming)
初学函数式编程,相信很多程序员兄弟们对于这个名字熟悉又陌生.函数,对于程序员来说并不陌生,编程对于程序员来说也并不陌生,但是函数式编程语言(Functional Programming languag ...
- html走马灯效果
实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实现,我们在需要出现跑马灯效果的地方插入“<marquee>滚动的文字</marquee>”语句,它的效果如下所示: ...
- The Twelve-Factor Container
转自:https://medium.com/notbinary/the-twelve-factor-container-8d1edc2a49d4?%24identity_id=550978996201 ...
- golang: 利用unsafe操作未导出变量
unsafe.Pointer其实就是类似C的void *,在golang中是用于各种指针相互转换的桥梁.uintptr是golang的内置类型,是能存储指针的整型,uintptr的底层类型是int,它 ...
- 在C#中如何判断线程当前所处的状态
在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象. ThreadState 为线程定义了一组所有可能的执行状态.一旦线程被创建,它就至少 ...
- 在宿主机查看docker使用cpu、内存、网络、io情况
命令: docker stats [OPTIONS] [CONTAINER...] 显示所有: docker stats -a