设置OWC/axSpreadsheet控件数据源

1:添加组件到控件工具箱

   2011-03-03 13-50-45

2:添加控件到窗体

2011-03-03 13-49-54

3:添加C#代码

   1: using System;
   2: using System.Collections.Generic;
   3: using System.ComponentModel;
   4: using System.Data;
   5: using System.Drawing;
   6: using System.Linq;
   7: using System.Text;
   8: using System.Windows.Forms;
   9:  
  10: namespace WindowsFormsApplication11
  11: {
  12:     public partial class Form1 : Form
  13:     {
  14:         public Form1()
  15:         {
  16:             InitializeComponent();
  17:         }
  18:         DataTable dt = null;
  19:         private void buttonX1_Click(object sender, EventArgs e)
  20:         {
  21:             ADODB.Connection conn = new ADODB.Connection();
  22:             ADODB.Recordset rs = new ADODB.Recordset();
  23:             string str = @"driver={sql server};server=TEL-236A\ZTXSQL2000;uid=sa;pwd=330443137; database=tbmrp";
  24:             conn.Open(str, "", "", -1);
  25:             rs.ActiveConnection = conn;
  26:             rs.CursorType = ADODB.CursorTypeEnum.adOpenStatic;
  27:             rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient;
  28:          
  29:             string sql = "select * from pncolor";
  30:             rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic, 1);
  31:           
  32:      
  33:             dt = new DataTable();
  34:            // dt.Columns.Add("a");
  35:            // dt.Rows.Add(dt.NewRow());
  36:             ((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets["Sheet1"]).Range["A1:z65536"].CopyFromRecordset(rs);
  37:            // ((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets[0]).CommandText = "select * from pncolor";
  38:             //((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets[0]).Refresh();
  39:             this.axPivotTable1.DataSource = (msdatasrc.DataSource)rs;
  40:  
  41:             ((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets["Sheet1"]).Range["A2"].Select();
  42:             this.axSpreadsheet1.ActiveWindow.FreezePanes = true;
  43:         }
  44:  
  45:         private void buttonX3_Click(object sender, EventArgs e)
  46:         {
  47:             ADODB.Connection conn = new ADODB.Connection();
  48:             ADODB.Recordset rs = new ADODB.Recordset();
  49:             string str = @"driver={sql server};server=TEL-236A\ZTXSQL2000;uid=sa;pwd=330443137; database=tbmrp";
  50:             conn.Open(str, "", "", -1);
  51:             rs.ActiveConnection = conn;
  52:             rs.CursorType = ADODB.CursorTypeEnum.adOpenStatic;
  53:             rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient;
  54:  
  55:             string sql = "select toP 200 'a' as [一],* from PNCOPTC";
  56:             rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic, 1);
  57:  
  58:  
  59:              dt = new DataTable();
  60:             // dt.Columns.Add("a");
  61:             // dt.Rows.Add(dt.NewRow());
  62:             ((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets["Sheet1"]).Range["A1:z65536"].CopyFromRecordset(rs);
  63:             // ((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets[0]).CommandText = "select * from pncolor";
  64:             //((Microsoft.Office.Interop.Owc11.Worksheet)this.axSpreadsheet1.Worksheets[0]).Refresh();
  65:             this.axPivotTable1.DataSource = (msdatasrc.DataSource)rs;
  66:         }
  67:  
  68:         
  69:     }
  70: }

4:测试程序

2011-03-03 13-55-20

注:一直没有找到给axSpreadsheet设置数据源的方法,今天做EXCEL VBA开发时起到了CopyFromRecordset方法,一试居然就行了。axPivotTable数据透视表的功能相当强大,只是界面单调了些,还有就是没有直接打印的方法。

转载于:https://www.cnblogs.com/yycxy/archive/2011/03/03/1969858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值