如何使用C#在Excel工作表数据表中添加空行

时间:2019-05-30 09:39:06

标签: c# excel

enter image description here如何在我的数据表中添加空行,然后遍历列标题并按以下方式拆分-然后将year插入到空行中 之后合并年份行

这是我的数据表代码:

       private void button1_Click(object sender, EventArgs e)
       {
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;
            Excel.Range chartRange;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

        xlWorkSheet.Cells[2, 1] = "Retailer";

        xlWorkSheet.Cells[2, 2] = "Brand";
        xlWorkSheet.Cells[2, 3] = "2019_WK1";

        xlWorkSheet.Cells[2, 4] = "2019_WK2";

            xlWorkSheet.Cells[2, 5] = "2019_WK3";


            xlWorkSheet.Cells[3, 1] = "LuLu";
            xlWorkSheet.Cells[3, 2] = "Perisil";
            xlWorkSheet.Cells[3, 3] = "25";
            xlWorkSheet.Cells[3, 4] = "26";
            xlWorkSheet.Cells[3, 5] = "23";

            xlWorkSheet.Cells[4, 1] = "Lulu";
            xlWorkSheet.Cells[4, 2] = "Ariel";
            xlWorkSheet.Cells[4, 3] = "26";
            xlWorkSheet.Cells[4, 4] = "28";
            xlWorkSheet.Cells[4, 5] = "29";

            xlWorkSheet.Cells[5, 1] = "Danube";
            xlWorkSheet.Cells[5, 2] = "Omo";
            xlWorkSheet.Cells[5, 3] = "27";
            xlWorkSheet.Cells[5, 4] = "28";
            xlWorkSheet.Cells[5, 5] = "30";


            xlWorkSheet.Cells[6, 1] = "Danube";
            xlWorkSheet.Cells[6, 2] = "Tide";
            xlWorkSheet.Cells[6, 3] = "24";
            xlWorkSheet.Cells[6, 4] = "23";
            xlWorkSheet.Cells[6, 5] = "29";


            xlWorkSheet.Cells[7, 1] = "Bin Dawood";
            xlWorkSheet.Cells[7, 2] = "Persil";
            xlWorkSheet.Cells[7, 3] = "26";
            xlWorkSheet.Cells[7, 4] = "27";
            xlWorkSheet.Cells[7, 5] = "28";


        xlWorkBook.SaveAs("F:\\CTR_Data", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlApp);
            releaseObject(xlWorkBook);
            releaseObject(xlWorkSheet);

            MessageBox.Show("File created !");
        }    

我想在(“ A1”至“ E1”单元格)中添加五个空行,并循环浏览列标题并按-

我想要像上面图片一样的excel输出

1 个答案:

答案 0 :(得分:0)

您必须使用合并方法(xlWorkSheet.Range [xlWorkSheet.Cells [1,1],xlWorkSheet.Cells [2,1]]。Merge();)

Application xlApp;
        Workbook xlWorkBook;
        Worksheet xlWorkSheet;
        object misValue = System.Reflection.Missing.Value;
        Range chartRange;

        xlApp = new Application();
        xlWorkBook = xlApp.Workbooks.Add(misValue);
        xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);

        xlWorkSheet.Cells[1, 1] = "Retailer";
        xlWorkSheet.Range[xlWorkSheet.Cells[1, 1], xlWorkSheet.Cells[2, 1]].Merge();

        xlWorkSheet.Cells[2, 2] = "Brand";
        xlWorkSheet.Range[xlWorkSheet.Cells[1, 2], xlWorkSheet.Cells[2, 2]].Merge();

        xlWorkSheet.Cells[2, 3] = "2019_WK1";

        xlWorkSheet.Cells[2, 4] = "2019_WK2";

        xlWorkSheet.Cells[2, 5] = "2019_WK3";


        xlWorkSheet.Cells[3, 1] = "LuLu";
        xlWorkSheet.Cells[3, 2] = "Perisil";
        xlWorkSheet.Cells[3, 3] = "25";
        xlWorkSheet.Cells[3, 4] = "26";
        xlWorkSheet.Cells[3, 5] = "23";

        xlWorkSheet.Cells[4, 1] = "Lulu";
        xlWorkSheet.Cells[4, 2] = "Ariel";
        xlWorkSheet.Cells[4, 3] = "26";
        xlWorkSheet.Cells[4, 4] = "28";
        xlWorkSheet.Cells[4, 5] = "29";

        xlWorkSheet.Cells[5, 1] = "Danube";
        xlWorkSheet.Cells[5, 2] = "Omo";
        xlWorkSheet.Cells[5, 3] = "27";
        xlWorkSheet.Cells[5, 4] = "28";
        xlWorkSheet.Cells[5, 5] = "30";


        xlWorkSheet.Cells[6, 1] = "Danube";
        xlWorkSheet.Cells[6, 2] = "Tide";
        xlWorkSheet.Cells[6, 3] = "24";
        xlWorkSheet.Cells[6, 4] = "23";
        xlWorkSheet.Cells[6, 5] = "29";


        xlWorkSheet.Cells[7, 1] = "Bin Dawood";
        xlWorkSheet.Cells[7, 2] = "Persil";
        xlWorkSheet.Cells[7, 3] = "26";
        xlWorkSheet.Cells[7, 4] = "27";
        xlWorkSheet.Cells[7, 5] = "28";


        xlWorkSheet.Cells[1, 3] = "Year";
        xlWorkSheet.Range[xlWorkSheet.Cells[1, 3], xlWorkSheet.Cells[1, 5]].Merge();

        xlWorkBook.SaveAs("test", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
        xlWorkBook.Close(true, misValue, misValue);
        xlApp.Quit();

enter image description here