说明:显示的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(打开、内嵌)的更多相关文章

  1. 操作 IoT 设备内嵌 SQLite

    Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD   Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本 ...

  2. 转载: pyExcelerator(Python操作Excel内库)API 文档

    1.pyExcelerator 主要通过俩个Object操作Excel: Workbook 和Worksheet2.pyExcelerator 读取Excel文件 parase_xls(filenam ...

  3. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  4. Excel里内嵌在线翻译

    本来寻思着继续写点系统运行日志跟踪技术的,但早晨哥家领导从单位打来电话,让帮助她的闺蜜搞一个excel翻译的问题,总部IT搞不定.我过去是用excel做了几年工作,却都是些数学计算,跟翻译也扯不上啊: ...

  5. Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我 ...

  6. 【转载】jxl操作excel 字体 背景色 合并单元格 列宽等 .

    package com.email.jav; import java.io.File;import java.io.IOException;import java.net.URL; import jx ...

  7. C#通过WatiN操作页面中内嵌的Iframe

    通过WatiN.Core.Broswer.Frame()方法来获取iframe对象,之后的容器就是frame,然后进行操作. 下面的例子是登录QQ空间的: Frame frame = browser. ...

  8. MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))

    目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.S ...

  9. VBS 操作Excel

    VBS操作Excel 打开excel Dim objExcel,objWorkbook,objSheet Set objExcel=CreateObject("excel.applicati ...

随机推荐

  1. javaweb三、JDBC访问数据库

    JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的 ...

  2. Kinect 开发 —— 骨骼追踪(下)

    Kinect 连线游戏 在纸上将一些列数字(用一个圆点表示)从小到大用线连起来.游戏逻辑很简单,只不过我们在这里要实现的是动动手将这些点连起来,而不是用笔或者鼠标. 在开始写代码之前,需要明确定义我们 ...

  3. 湖南省第八届大学生计算机程序设计竞赛(A,B,C,E,F,I,J)

    A 三家人 Description 有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园.A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕.C 太太因为正身怀六甲无法加入她们的行列, ...

  4. read---读取变量值

    read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的数据将被自 ...

  5. idea 生成方法注释的快捷键

    我用的15,在keymap里搜索 Fix doc comment 给他一个快捷建.参考 http://www.oschina.net/question/179541_26961

  6. POJ——T 2891 Strange Way to Express Integers

    http://poj.org/problem?id=2891 Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 16849   ...

  7. Catch Me If You ... Can't Do Otherwise--转载

    原文地址:https://dzone.com/articles/catch-me-if-you-cant-do-otherwise I don't know whether it's an anti- ...

  8. Android连接socket服务器上传下载多个文件

    android连接socket服务器上传下载多个文件1.socket服务端SocketServer.java public class SocketServer { ;// 端口号,必须与客户端一致 ...

  9. ByteUtils

    package sort.bing.com; import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import j ...

  10. 【习题 7-5 UVA-690】Pipeline Scheduling

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 一定在这里写完思路再敲代码!!! 处理出5个工作单元在哪些时刻会被用到. ->设为initstatu 因为每次都会面临之前已经 ...