当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现Excel操作——添加页签Sheet

C#实现Excel操作——添加页签Sheet

2020年01月17日  | 移动技术网IT编程  | 我要评论
C#实现对Excel操作,根据数据的类型不同或者来源不同会放在不同的页签中,C#实现添加页签代码如下:(path为文档保存的地址,dt为要处理的源数据) public void addSheet(string Path, DataTable dt) { var SlDoc = new SLDocum ...

c#实现对excel操作,根据数据的类型不同或者来源不同会放在不同的页签中,c#实现添加页签代码如下:(path为文档保存的地址,dt为要处理的源数据

 public void addsheet(string path, datatable dt)
    {
        var sldoc = new sldocument(path);
        sldoc.addworksheet("sheet2");//添加新的sheet

        adddata(sldoc, dt);//填充数据

        sldoc.saveas(path);
    }
    public void adddata(sldocument sldoc, datatable dt)//针对excel的每列进行塞数据
    {
        var strcell = columns(dt);

        for (int j = 0; j < dt.columns.count; j++)
        {
            sldoc.setcellvalue(strcell[j] + 1, dt.columns[j].tostring());//先塞列名
        }
        if (dt != null && dt.rows.count > 0)
        {
            //按行进行对excel塞查出的table中数据
            for (int j = 0; j < dt.rows.count; j++)
            {
                for (int i = 0; i < strcell.length; i++)
                    sldoc.setcellvalue(strcell[i] + (j + 2), dt.rows[j][i].tostring());
            }
        }
    }
  public string[] columns(datatable dt)//获取excel的而每个单元格的列名a,b,c......
    {
        var num = 65;
        var str = new string[dt.columns.count];
        for (int i = 0; i < dt.columns.count; i++)
        {
            if (i < 26)
            {
                str[i] = ((char)num).tostring();
            }
            else
            {
                var aa = (i / 26) + 64;

                var bb = num - (i / 26) * 26;
                str[i] = ((char)aa).tostring() + ((char)bb).tostring();
            }
        

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网