【转载】C# winform操作excel(打开、内嵌)

说明:显示的excel是利用模板创建的
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//*************************************************
// 先要添加对Excel的引用。选择项目-〉添加引用-〉COM-〉添加Microsoft Excel 9.0。(不同的office讲会有不同版本的dll文件)。
//*************************************************
using Excel;
using System.Reflection; // For Missing.Value and BindingFlags
using System.Runtime.InteropServices; // For COMException
namespace ExcelTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//外部操作
private void button1_Click(object sender, EventArgs e)
{
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = path.Substring(0, path.LastIndexOf('\\'));
//创建Excel对象
Excel.Application ExcelApp = new Excel.Application();
//新建工作簿
//Excel.Workbook ExcelWb = ExcelApp.Workbooks.Add(true);
Excel.Workbook ExcelWb = ExcelApp.Workbooks.Add(path + "\\TestExcel");
//新建工作表
Excel.Worksheet ExcelWs = ExcelWb.ActiveSheet as Excel.Worksheet;
Excel.Range ExcelRange = ExcelWs.Cells;
//ExcelRange.Cells.Clear();
ExcelRange.Cells.set_Item(1, 6, "2010-03-03");
ExcelRange.Cells.set_Item(1, 21, "9:30");
ExcelRange.Cells.set_Item(1, 38, "会议室");
ExcelRange.Cells.set_Item(2, 7, "王三");
ExcelRange.Cells.set_Item(3, 7, "全体人员");
ExcelRange.Cells.set_Item(5, 1, "关于作息制度的新安排");
ExcelApp.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
}
//内嵌操作
private void button3_Click(object sender, EventArgs e)
{
//-------------------------------------------------------------------------------
// 1、右击工具箱,选择自定义工具箱,添加COM组件,选择“Microsoft Web 浏览器”(对应文件是\winnt\system32\shdocvw.dll),确定。在工具箱中将会出现文本为Explorer的WebBroser控件图标。
// 2、在Form1中添加WebBrowser控件。(对象名却省是axWebBrowser1)
//----------------------------------------------------------------------
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = path.Substring(0, path.LastIndexOf('\\'));
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.Navigate(path + "\\TestExcel.xlt", ref refmissing, ref refmissing, ref refmissing, ref refmissing);
}
private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
{
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref refmissing, ref refmissing);
Object o = e.pDisp;
Object oDocument = o.GetType().InvokeMember("Document", BindingFlags.GetProperty, null, o, null);
Object oApplication = o.GetType().InvokeMember("Application", BindingFlags.GetProperty, null, oDocument, null);
//Object oName = o.GetType().InvokeMember("Name",BindingFlags.GetProperty ,null,oApplication,null);
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = path.Substring(0, path.LastIndexOf('\\'));
//由于打开的是excel文件,所以这里的oApplication 其实就是Excel.Application
Excel.Application ExcelApp = (Excel.Application)oApplication;//这样就可以象上文中所述来操作Excel了
Workbooks workbooks = ExcelApp.Workbooks;
Excel.Workbook ExcelWb = workbooks.get_Item(1);
Sheets sheets = ExcelWb.Worksheets;
Worksheet ExcelWs = (Worksheet)sheets.get_Item(1);
Excel.Range ExcelRange = ExcelWs.Cells;
ExcelRange.Cells.set_Item(1, 6, "2010-03-03");
ExcelRange.Cells.set_Item(1, 21, "9:30");
ExcelRange.Cells.set_Item(1, 38, "会议室");
ExcelRange.Cells.set_Item(2, 7, "王三");
ExcelRange.Cells.set_Item(3, 7, "全体人员");
ExcelRange.Cells.set_Item(5, 1, "关于作息制度的新安排");
}
}
}
【转载】C# winform操作excel(打开、内嵌)的更多相关文章
- 操作 IoT 设备内嵌 SQLite
Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本 ...
- 转载: pyExcelerator(Python操作Excel内库)API 文档
1.pyExcelerator 主要通过俩个Object操作Excel: Workbook 和Worksheet2.pyExcelerator 读取Excel文件 parase_xls(filenam ...
- 转载:python操作excel表格(xlrd/xlwt)
python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...
- Excel里内嵌在线翻译
本来寻思着继续写点系统运行日志跟踪技术的,但早晨哥家领导从单位打来电话,让帮助她的闺蜜搞一个excel翻译的问题,总部IT搞不定.我过去是用excel做了几年工作,却都是些数学计算,跟翻译也扯不上啊: ...
- Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我 ...
- 【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .
package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jx ...
- C#通过WatiN操作页面中内嵌的Iframe
通过WatiN.Core.Broswer.Frame()方法来获取iframe对象,之后的容器就是frame,然后进行操作. 下面的例子是登录QQ空间的: Frame frame = browser. ...
- MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...
- VBS 操作Excel
VBS操作Excel 打开excel Dim objExcel,objWorkbook,objSheet Set objExcel=CreateObject("excel.applicati ...
随机推荐
- C/C++(函数)
函数 函数三要素:函数名,参数,返回值 重点研究函数的输入输出 随机数函数 //产生一组随机数 #include<stdio.h> #include<stdlib.h> #in ...
- spring bean中的properties元素内的ref和value的区别;* 和 ** 的区别
spring bean中的properties元素内的ref和value的区别 至于使用哪个是依据你所用的属性类型决定的. <bean id="sqlSessionFactory&qu ...
- 洛谷 P1400 塔
P1400 塔 题目描述 有N(2<=N<=600000)块砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长.问有几种方法,输出 答案 mod 10000000 ...
- DataGridView控件绑定数据源
前言: 近期听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了 ...
- 一起talk C栗子吧(第三十四回:C语言实例--巧用溢出计算最值)
各位看官们.大家好,上一回中咱们说的是巧用移位的样例,这一回咱们说的样例是:巧用溢出计算最值. 闲话休提,言归正转.让我们一起talk C栗子吧! 大家都知道,程序中的变量都有一个取值范围,这个范围也 ...
- ios学习之旅---c语言函数
1.函数的概述 C源程序是由函数组成的. 尽管在前面各章的程序中大都仅仅有一个主函数main(),但有用程序往往由多个 函数组成. 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能. C语 ...
- ubuntu-虚拟机跟主机资源共享的实现方法
之前自己的虚拟机跟主机资源共享的时候,使用的是非常笨的方法,就是通过创建两个飞鸽,然后在两个飞鸽之间进行文件的传输,今天工作相对轻松一些,就趁机完善一下自己的工作环境,在网上搜索了关于资源共享的方法, ...
- matlab (.m)文件生成 windows 可执行(.exe)文件
mex -setup:设置 C 语言编译器:(如果本地安装有 visual studio 20xx 集成开发环境,则会自动选择其下的 C/C++ 编译器 ) 将运行时环境(runtime enviro ...
- 过滤选择器及jQuery提供的相关方法
基本过滤器: <body> <ul> <li>列表1</li> <li class="red">列表2</li&g ...
- 【Codeforces Round #451 (Div. 2) A】Rounding
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟 [代码] /* 1.Shoud it use long long ? 2.Have you ever test several ...