ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1785|回复: 0

VSTO分享

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-3-1 13:06 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
最刚开始用,这个是我研究的结果,欢迎拍砖。
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml.Linq;
using Microsoft.Office.Tools.Excel;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using System.Data.OleDb;
namespace ExcelWorkbook1
{
    public partial class Sheet1
    {
        private void Sheet1_Startup(object sender, System.EventArgs e)
        {
        }
        private void Sheet1_Shutdown(object sender, System.EventArgs e)
        {
        }
        public void DemoAccess()
        {
            Excel.Worksheet sh = new Excel.Worksheet();
            sh = this.Application.ActiveSheet;
            // 设置访问连接并选择字符串。
            //如果Access数据库采用默认加密,VBA代码无法打开,ADO.NET却可以
            string strCnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\data.accdb;Jet OLEDB:Database Password=";
            string strSql = "SELECT * FROM test";
            // 创建数据集,DataSet功能强大值得钻研
            DataSet myDataSet = new DataSet();
            OleDbConnection Cnn = null;
            Cnn = new OleDbConnection(strCnn);
            OleDbCommand myCommand = new OleDbCommand(strSql, Cnn);
            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myCommand);
            try
            {
                //连接Access数据库
                Cnn.Open();
                //填充数据集
                myDataAdapter.Fill(myDataSet);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            finally
            {
                //关闭数据库连接
                Cnn.Close();
            }
            sh.Cells[1, 2].value2 = myDataSet.Tables[0].Rows.Count;
            string[] arr={"1","2","3","4"};
          //  sh.get_Range("b1").get_Resize(1, 3).get_Value(arr);
            Excel.Range  rng1 = Application.get_Range("A7", "e7");
            rng1.Value2 = arr;
        }
            //从脱机数据集获取数据表信息
        #region VSTO 设计器生成的代码
        /// <summary>
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(Sheet1_Startup);
            this.Shutdown += new System.EventHandler(Sheet1_Shutdown);
        }
        #endregion
    }
}



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 15:48 , Processed in 0.019495 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表