我需要按特定顺序将数据导出到xlsx模板。我怎样才能做到这一点? [英] I need to export data to an xlsx template in a specific order. How can I do this?

查看:59
本文介绍了我需要按特定顺序将数据导出到xlsx模板。我怎样才能做到这一点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,并提前感谢您的帮助。



我有一个SQL查询,可以将技术人员的数据和一些工作指标从DataTable中获取。我有那个工作。然后,我遍历表获取每个单元格的cell.Value并将它们写入excel文件,到目前为止一切顺利。问题是我需要获取特定单元格中的值,具体取决于技术人员的名称(代码中的OPERADOR),因为它们分为不同的团队。



- datatable拥有我需要的所有工人和信息

- 工人分成团队

- 我需要导出到excel文件,按团队分隔工人并将他们放入文件中的特定表。 (DataTable按字母顺序排序,因此无需对其进行排序)。



这是我的代码到目前为止



Hello and thanks in advance for the help.

I have an SQL Query getting data on technicians and some work indicators from them into a DataTable. I have that working. I then run through the table getting the cell.Value for each cell and write them in an excel file, so far so good. Problem is I need to get the values in specific cells, depending on the name of the technicians (OPERADOR in the code) because they are divided into different teams.

- datatable has all the workers and info I need
- workers are divided into teams
- I need to export to the excel file, separating workers by team and putting them in the specific table in the file. (DataTable is ordered by alphabetical order so sorting it is not necessary).

Here is my code so far

string cellContent = string.Empty;

DataTable dt = dgv_CS24.DataSource as DataTable;

foreach (DataRow dRow in dt.Rows)
{
    //EQUIPA A

    cellContent = dRow["OPERADOR"].ToString();
    if (cellContent == "csalmeida" ||
        cellContent == "bmferreira" ||
        cellContent == "dleitao" ||
        cellContent == "armauricio" ||
        cellContent == "Psoares")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 5;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 6, j + 2] = cell.Value;
                if (size == 5)
                {
                    width++;
                }
            }

            size++;
        }

        //EQUIPA B
       }
    else if (cellContent == "cacaetano" ||
       cellContent == "Cborralho" ||
       cellContent == "Mfiães" ||
       cellContent == "pcaraujo" ||
       cellContent == "iacasimiro" ||
       cellContent == "Rodrigues")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 6;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 15, j + 2] = cell.Value;
                if (size == 6)
                {
                    width++;
                }
            }
            size++;
        }

        //EQUIPA C
    }
       else if (cellContent == "Asalgueiro" ||
       cellContent == "mltorres" ||
       cellContent == "mrodrigues" ||
       cellContent == "Ppimenta" ||
       cellContent == "rjrosa" ||
       cellContent == "Vnogueira")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 6;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 24, j + 2] = cell.Value;
                if (size == 6)
                {
                    width++;
                }
            }
            size++;
        }

        //EQUIPA D
    }
    else if (cellContent == "Ccarvalho" ||
       cellContent == "falmeida" ||
       cellContent == "maleal" ||
       cellContent == "Mendes" ||
       cellContent == "micaeiro" ||
       cellContent == "Tantunes")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 6;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 33, j + 2] = cell.Value;
                if (size == 6)
                {
                    width++;
                }
            }
            size++;
        }

        //EQUIPA REFORÇO
    }
    else if (cellContent == "Rpedro" ||
       cellContent == "jcoutinho" ||
       cellContent == "rjlope" ||
       cellContent == "alopes" ||
       cellContent == "Alacerda" ||
       cellContent == "acurveira" ||
       cellContent == "smteixeira" ||
       cellContent == "mjmartins")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 8;
        var width = 1;

        for (i = 0; i <= tableRC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableCC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 42, j + 2] = cell.Value;
                if (size == 8)
                {
                    width++;
                }
            }
            size++;
        }

        //PT
    }
    else if (cellContent == "cestrela")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 1;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 50, j + 2] = cell.Value;
                if (size == 1)
                {
                    width++;
                }
            }
            size++;
        }

       //EQUIPA POLIVALENTES
    }
    else if (cellContent == "capestana" ||
      cellContent == "etavares" ||
      cellContent == "lmalanho" ||
      cellContent == "nvital" ||
      cellContent == "nherbert" ||
      cellContent == "ppinto" ||
      cellContent == "ppombal" ||
      cellContent == "rpessoa")
    {
        int i;
        var tableRC = dgv_CS24.RowCount;
        var tableCC = dgv_CS24.ColumnCount;
        var size = 8;
        var width = 1;

        for (i = 0; i <= tableCC - 1; i++)
        {
            int j;
            for (j = 0; j <= tableRC - 1; j++)
            {
                var cell = dgv_CS24[j, i];
                xlWorkSheet.Cells[i + 53, j + 2] = cell.Value;
                if (size == 8)
                {
                    width++;
                }
            }
            size++;
        }
    }





以下是出口:

https://drive.google.com/file/d/0B6ziRKPZ22ZhaXFYWTBqQ3hpcEE/edit?usp=分享 [ ^ ]

推荐答案

这篇关于我需要按特定顺序将数据导出到xlsx模板。我怎样才能做到这一点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆