最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件

转载地址https://blog.csdn.net/qq_36224420/article/details/81540627
还可参考下,使用ListView制作表格https://blog.csdn.net/oMoDao1/article/details/84972984
使用ReportView制作报表。
https://blog.csdn.net/langwen2048/article/details/81104543

这个是控件的下载地址:https://reogrid.net/download/。
如果觉得我说的不够详细可以自己去看文档,不过都是英文,如果觉得很难受的话可以联系一下我:https://reogrid.net/document/。
这个控件是一个日本人写的,功能很强大,但是有一些效果是没有的,而且我发现reogrid控件在百度基本上查不到什么资料。
控件的下载流程:
进入到那个页面找到我图中标记的地方:
最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件_第1张图片
他会直接下载,下载完成之后解压出来,这里如果是只用EXCEL的话,控件引用之只需要用到ReoGrid-2.1.0.0-Minimum这个文件里面的unvell.ReoGrid就够了,然后你在工具箱里面添加这个控件,拖出来就可以用了。
首先是最基本的表格初始化我就贴一段我初始化的代码:

public void ExcelInti()
        {
            #region 控件初始化
            m_sheet = reoGridControl1.CurrentWorksheet;//因为EXCEL一般都可以创建很多个sheet所以你要获取到具体的这个页面
            //对表格的格式进行初始化
            m_sheet.SetCols(5);//设置列的的长度 不设置的话会有默认的值
            m_sheet.SetRows(11);//设置行的长度  
            m_sheet.SetColumnsWidth(0, 5, 105);//设置列的宽度 第一个参数是从第几个列开始 这里的索引是从0开始  第二个参数是你要设置列的个数 第三个是设置的宽度
            m_sheet.SetRowsHeight(0, 11, 25);//与上面一样不过这个是设置行的
            m_sheet.SetSettings(WorksheetSettings.View_ShowHeaders, false);//我写这一行主要是不想要像EXCEL表格的标题头 就是A,B,C 
            #endregion
        }

最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件_第2张图片
上面就是实际表格的效果:两个红色镖头所指向的就是标题头
可以根据个人的需要隐藏一个或者全部隐藏:
m_sheet.SetSettings(WorksheetSettings.View_ShowHeaders, false);全部隐藏
m_sheet.SetSettings(WorksheetSettings.View_ShowRowHeader, false);不显示ABC
m_sheet.SetSettings(WorksheetSettings.View_ShowColumnHeader, false);不显示1,2,3这些序号

很多人最关注的就是如何去绑定数据,这个控件会自己判断数据类型如果是时间格式的话他会自动转成日期去显示,但是这个显示的日期又有点问题,这个我后面会写如何处理。
要绑定数据首先你还必须要了解一下
cellposition与rangeposition 这两个都需要你去实例化然后输入参数
cellposition:指的是单元格(EXCEL一个格子)的位置
CellPosition cp = new CellPosition(“A1”);//这个就是下图中A1的位置
CellPosition cp = new CellPosition(0,0);//这个第一个参数是 行索引 第二个列索引
0,0 指的是第一行第一列 所以他的值就是A1
CellPosition cp = new CellPosition(0,1);//第一行第二列 值:B1
最近发现的一个c# winform的一个很好用很强大的excel控件 reogrid控件_第3张图片
RangePosition rp = new RangePosition();有6个重载
上面那个是点 那这个是面
你可以获取从某一个范围的单元格 比如我要获取E2到D5的范围:
RangePosition rp = new RangePosition(new CellPosition(“E2”), new CellPosition(“D2”));第一个参数是开始的单元格,第二个参数是结束的单元格
RangePosition rp = new RangePosition(“E2:D2”);这个形式同样可以

接下来等我有空我再继续写.如果有需要的话可以留言,能帮尽量帮。

你可能感兴趣的:(C#)