.net DataExcel 控件开发使用说明

Posted 足球中国

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net DataExcel 控件开发使用说明相关的知识,希望对你有一定的参考价值。

  • 简介及其使用

  • 最新界面
  • 控件使用效果
  • 打印预览
  • 浏览器查看效果
  • 打印预览效果
  • 一 简介 、DataExcel是由.net 开发的一套表格计算组件 

        包括 基本的表格视图,编辑控件,图表,公式计算,事件处理,文件格式化,排版,打印,图表。

        DataExcel依赖于.net 框架。分别有2.0 4.0版本。 

  •     比.net 自带的DataGridView多了些功能

  • 二 文件构成、

     

         文件包括两个DLL文件。DataExcel.v1.1.dll DataUtils.v1.1.dll (V1.1为版本,根据不同版本文件名不同) DataExcel 为界面组件所在

         另外 DataExcel.exe 为使用DataExcel组件开发的轻量级程序(非必须)

    三 控件使用、

         使用VS新建Winform项目 右键项目引用节点添加引用 需要添加(DataExcel.v1.1.dll,DataUtils.v1.1.dll)的引用

          新建WINFORM窗口在工具箱右键并点击"选择项"选择中 DataExcel.v1.1.dll, 

         工具栏会出现 

         拖动 DataExcel 至窗口 显示如下 

  • 功能简介

  • 合并单元格
  • 显示标尺
  • 设置编辑控件
  • 图形图像(作为皮肤使用)
  •  
  • 只读 
  • 设置函数
  • 示例代码

  • ///清除所有行,列,合并单元格,扩展单元格,
                dataexcel1.Clear();
                ///初始化默认行,列
                dataexcel1.Init();
                //获取列
                IColumn column = dataexcel1.GetColumn(1);
                //设置列宽
                column.Width = 100;
                //获取第五行,第一列的单元格
                ICell cell = dataexcel1.GetCell("A5");
                cell.Text = "文本框:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取列
                column = dataexcel1.GetColumn(2);
                //设置列宽
                column.Width = 100;
                //获取第5行,第一列的单元格
                cell = dataexcel1.GetCell("B5");
                cell.Value = "我是编辑框";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为文本框
                cell.OwnEditControl = new Feng.Excel.Edits.CellTextBoxEdit();
                //设置进入编辑的方式
                cell.EditMode = Feng.Enums.EditMode.Focused | Feng.Enums.EditMode.KeyDown | Feng.Enums.EditMode.Click;
     
     
                cell = dataexcel1.GetCell("A6");
                cell.Text = "单选框:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第6行,第一列的单元格
                Feng.Excel.Edits.CellRadioCheckBox radioedit = new Feng.Excel.Edits.CellRadioCheckBox();
                radioedit.Group = "单选组1";
                cell = dataexcel1.GetCell("B6");
                cell.Caption = "单选框1";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为单选框
                cell.OwnEditControl = radioedit;
     
     
                cell = dataexcel1.GetCell("C6");
                cell.Caption = "单选框2";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为单选框
                cell.OwnEditControl = radioedit;
     
                cell = dataexcel1.GetCell("D6");
                cell.Caption = "单选框3";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为单选框
                cell.OwnEditControl = radioedit;
     
     
     
     
                cell = dataexcel1.GetCell("A7");
                cell.Text = "复选框:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第7行,第一列的单元格
                Feng.Excel.Edits.CellCheckBox checkedit = new Feng.Excel.Edits.CellCheckBox(); 
                cell = dataexcel1.GetCell("B7");
                cell.Value = true;
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                cell.Caption = "是/否";
                //设置编辑控件为复选框
                cell.OwnEditControl = checkedit;
     
     
     
                cell = dataexcel1.GetCell("A8");
                cell.Text = "选择日期:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第8行,第一列的单元格
                Feng.Excel.Edits.CellDateTime datetimeedit = new Feng.Excel.Edits.CellDateTime();
                cell.FormatType = Feng.Utils.FormatType.DateTime;
                cell.FormatString = "yyyy-MM-dd";
                cell = dataexcel1.GetCell("B8");
                cell.Value = DateTime.Now;
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown; 
                //设置编辑控件为复选框
                cell.OwnEditControl = datetimeedit;            
                //设置进入编辑的方式
                cell.EditMode = Feng.Enums.EditMode.Focused | Feng.Enums.EditMode.KeyDown | Feng.Enums.EditMode.Click;
     
     
     
     
                cell = dataexcel1.GetCell("A9");
                cell.Text = "数字选择:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第9行,第一列的单元格
                Feng.Excel.Edits.CellNumber numberedit = new Feng.Excel.Edits.CellNumber();
                cell = dataexcel1.GetCell("B9");
                cell.FormatType = Feng.Utils.FormatType.Numberic;
                cell.FormatString = "$##0.00";
                cell.Value = 365.25;
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为复选框
                cell.OwnEditControl = numberedit;
                //设置进入编辑的方式
                cell.EditMode = Feng.Enums.EditMode.Focused | Feng.Enums.EditMode.KeyDown | Feng.Enums.EditMode.Click;
     
     
     
     
     
                cell = dataexcel1.GetCell("A10");
                cell.Text = "数字文本框:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第10行,第一列的单元格
                Feng.Excel.Edits.CellNumberBoxEdit numtextedit = new Feng.Excel.Edits.CellNumberBoxEdit(); 
                cell = dataexcel1.GetCell("B10");
                cell.FormatType = Feng.Utils.FormatType.Numberic;
                cell.FormatString = "$##0.00";
                cell.Value = 365.25;
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为复选框
                cell.OwnEditControl = numtextedit;
                //设置进入编辑的方式
                cell.EditMode = Feng.Enums.EditMode.Focused | Feng.Enums.EditMode.KeyDown | Feng.Enums.EditMode.Click;
     
     
     
                cell = dataexcel1.GetCell("A11");
                cell.Text = "下拉文本框:";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.Red;
                //设置编辑控件为LABEL 及为不可编辑
                cell.OwnEditControl = new Feng.Excel.Edits.CellLabel();
     
                //获取第11行,第一列的单元格
                Feng.Excel.Edits.CellComboBox comboedit = new Feng.Excel.Edits.CellComboBox();
                cell = dataexcel1.GetCell("B11"); 
                cell.Value = "选项1";
                cell.BackColor = Color.AliceBlue;
                cell.ForeColor = Color.RosyBrown;
                //设置编辑控件为复选框
                cell.OwnEditControl = comboedit;
                comboedit.Items.AddRange(new string[]  "选项1", "选项2", "选项3", "选项4", "选项5", "选项6", "选项7" );
                //设置进入编辑的方式
                cell.EditMode = Feng.Enums.EditMode.Focused | Feng.Enums.EditMode.KeyDown | Feng.Enums.EditMode.Click;
     
            public void SetFunction()
            
                ///清除所有行,列,合并单元格,扩展单元格,等
                dataexcel1.Clear();
                ///初始化默认行,列
                dataexcel1.Init();
                ICell cell = null;
                for (int i = 1; i < 6; i++)
                
                    for (int j = 1; j < 5; j++)
                    
                        cell = dataexcel1[i, j];
                        cell.Value = i + j;
                    
                
                dataexcel1[6, 1].Expression = "\\"合计:\\"&sum(a1:a5)";//& 表示把两个字符串连接到一起
                dataexcel1[6, 2].Expression = "\\"平均:\\"&avg(b1:b5)";
                dataexcel1[6, 3].Expression = "\\"数量:\\"&count(c1:c5)";
                dataexcel1.Save(dataexcel1.Version + "_" + DateTime.Now.ToString("yyMMddHHmmss") + (fileindex++).ToString().PadLeft(4, '0') + ".dat");
            
    
    
    
      ///清除所有行,列,合并单元格,扩展单元格,等
                dataexcel1.Clear();
                ///初始化默认行,列
                dataexcel1.Init();
                 
                //获取行 通过GetRow函数获取行会自动创建行 
                IRow row = dataexcel1.GetRow(1);
                row.Height = 30; 
                row = dataexcel1.GetRow(2);
                //设置行只读
                row.InhertReadOnly = false;
                row.ReadOnly = true;
                row.BackColor = Color.AliceBlue;
                row.Height = 30;
                row = dataexcel1.GetRow(3);
                row.Height = 30;
     
                IColumn column = dataexcel1.GetColumn(1);
                column.Width = 120; 
                column = dataexcel1.GetColumn(2);
                //设置列只读
                column.InhertReadOnly = false;
                column.ReadOnly = true;
                column.Width = 120;
                column.BackColor = Color.AntiqueWhite;
                column = dataexcel1.GetColumn(3);
                column.Width = 120;
                column = dataexcel1.GetColumn(4);
                column.Width = 120;
     
                ICell cell = dataexcel1[1, 1];
                cell.Name = "name1";
                cell.Value = "只读单元格";
                //设置单元格只读
                cell.ReadOnly = true;
                cell.InhertReadOnly = false;
     
                cell = dataexcel1[2, 1];
                cell.Name = "name2";
                cell.Value = "只读单元格";
                //设置单元格只读
                cell.ReadOnly = true;
                cell.InhertReadOnly = false;
     
     
                cell = dataexcel1[3, 2];
                cell.Value = "只读列";
     
     
                cell = dataexcel1[2, 4];
                cell.Value = "只读行";
    
                ///清除所有行,列,合并单元格,扩展单元格,等
                dataexcel1.Clear();
                ///初始化默认行,列
                dataexcel1.Init();
     
                //隐藏列头
                this.dataexcel1.ShowColumnHeader = false;
                //隐藏行头
                this.dataexcel1.ShowRowHeader = false;
                //隐藏 选中时的边框
                this.dataexcel1.ShowSelectRect = false;
                //隐藏 网络线
                this.dataexcel1.ShowGridRowLine = false;
                this.dataexcel1.ShowGridColumnLine = false;
                //显示标尺
                this.dataexcel1.ShowHorizontalRuler = true;
                this.dataexcel1.ShowVerticalRuler = true;
                //隐藏滚动条
                this.dataexcel1.VScroller.Visible = false;
                this.dataexcel1.HScroller.Visible = false;
     
                //获取行 通过集合获取行时不会自动创建行 
                IRow row = dataexcel1.Rows[5];
                if (row == null)
                
                    row = dataexcel1.ClassFactory.CreateDefaultRow(dataexcel1, 5);
                    dataexcel1.Rows.Add(row);
                
                row.BackColor = Color.RosyBrown;
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(6);
                row.BackColor = Color.RoyalBlue;
     
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(1);
                row.Height = 30;
                row.BackColor = Color.RoyalBlue;
     
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(2);
                row.Height = 30;
                row.BackColor = Color.RoyalBlue;
     
                //获取列 通过集合获取列时不会自动创建列
                IColumn column = dataexcel1.Columns[9];
                if (column == null)
                
                    column = dataexcel1.ClassFactory.CreateDefaultColumn(dataexcel1, 9);
                    dataexcel1.Columns.Add(column);
                
                column.BackColor = Color.SandyBrown;
                column.Width = 120;
     
                //获取行 通过GetRow函数获取行会自动创建行 
                column = dataexcel1.GetColumn(1);
                column.Width = 190;
     
                ICell cell = dataexcel1["A1"];
                cell.Text = "我是单元格1";
                cell.BackColor = Color.Aquamarine;
                //获取第二行第1列
                cell = dataexcel1[2, 1];
                cell.Text = "单元格名称:" + cell.Name;
                cell.BackColor = Color.Azure;
                //能过字符串合并
                IMergeCell MergeCell = dataexcel1.MergeCell("B1:F1");
                MergeCell.BackColor = Color.AliceBlue;
                MergeCell.Text = "B1:F1";
     
                MergeCell = dataexcel1.MergeCell("B2:F2");
                MergeCell.BackColor = Color.AliceBlue;
                MergeCell.Text = "B2:F2";
     
                //获取合并的单元格 
                //合并后的单元格以最左上角的单元格为基础
                cell = dataexcel1["B2"];
                cell.Text = "我是合并单元格" + cell.Name;
                cell.BackColor = Color.Beige;
                cell.Font = new Font("宋体", 13);
                cell.ForeColor = Color.Red;
                //设置内容居中
                cell.HorizontalAlignment = StringAlignment.Center;
                cell.VerticalAlignment = StringAlignment.Center;
     
                dataexcel1.Save(dataexcel1.Version + "_" + DateTime.Now.ToString("yyMMddHHmmss") + (fileindex++).ToString().PadLeft(4, '0') + ".dat");
    
         /// <summary>
            /// 获取行,列,单元格,合并后的合并单元格,并设置颜色
            /// </summary>
            public void CellInfo()
            
     
     
                ///清除所有行,列,合并单元格,扩展单元格,等
                dataexcel1.Clear();
                ///初始化默认行,列
                dataexcel1.Init();
     
                //获取行 通过集合获取行时不会自动创建行 
                IRow row = dataexcel1.Rows[5];
                if (row == null)
                
                    row = dataexcel1.ClassFactory.CreateDefaultRow(dataexcel1, 5);
                    dataexcel1.Rows.Add(row);
                
                row.BackColor = Color.RosyBrown;
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(6);
                row.BackColor = Color.RoyalBlue;
     
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(1);
                row.Height = 30;
                row.BackColor = Color.RoyalBlue;
     
     
                //获取行 通过GetRow函数获取行会自动创建行 
                row = dataexcel1.GetRow(2);
                row.Height = 30;
                row.BackColor = Color.RoyalBlue;
     
                //获取列 通过集合获取列时不会自动创建列
                IColumn column = dataexcel1.Columns[9];
                if (column == null)
                
                    column = dataexcel1.ClassFactory.CreateDefaultColumn(dataexcel1, 9);
                    dataexcel1.Columns.Add(column);
                
                column.BackColor = Color.SandyBrown;
                column.Width = 120;
     
                //获取行 通过GetRow函数获取行会自动创建行 
                column = dataexcel1.GetColumn(1);
                column.Width = 190;
     
                ICell cell = dataexcel1["A1"];
                cell.Text = "我是单元格1";
                cell.BackColor = Color.Aquamarine;
                //获取第二行第1列
                cell = dataexcel1[2, 1];
                cell.Text = "单元格名称:" + cell.Name;
                cell.BackColor = Color.Azure;
                //通过字符串合并
                IMergeCell MergeCell = dataexcel1.MergeCell("B1:F1");
                MergeCell.BackColor = Color.AliceBlue;
                MergeCell.Text = "B1:F1";
     
                MergeCell = dataexcel1.MergeCell("B2:F2");
                MergeCell.BackColor = Color.AliceBlue;
                MergeCell.Text = "B2:F2";
     
                //获取合并的单元格 
                //合并后的单元格以最左上角的单元格为基础
                cell = dataexcel1["B2"];
                cell.Text = "我是合并单元格" + cell.Name;
                cell.BackColor = Color.Beige;
                cell.Font = new Font("宋体", 13);
                cell.ForeColor = Color.Red;
                //设置内容居中
                cell.HorizontalAlignment = StringAlignment.Center;
                cell.VerticalAlignment = StringAlignment.Center;
     
                dataexcel1.Save(dataexcel1.Version + "_" + DateTime.Now.ToString("yyMMddHHmmss") + (fileindex++).ToString().PadLeft(4, '0') + ".dat");
            

     

以上是关于.net DataExcel 控件开发使用说明的主要内容,如果未能解决你的问题,请参考以下文章

比较好用的前端表格控件推荐

比较好用的前端表格控件推荐

比较好用的前端表格控件推荐

使用dataexcel批量重命名文件

使用dataexcel批量重命名文件

使用dataexcel批量重命名文件