C#把二维数组中的指定数据存储到EXCEL指定位置

我设置了一个二维数组list,比如我要在桌面创一个名为“文件”的EXCEL表格,把LIST[4][5]存到创建的excel的sheet2的第二行第二列即B2位置,要怎么实现?希望提供详细代码,可以让我把数组任意数据存到excel任意工作表的任意位置~~初学C#,不要问我为什么不手动复制,有一大堆数据要处理,我只是举个例子。
感觉会的人应该只是几行代码~求指导啊

 private void writeExcel()
        {
            #region 初始化Excel表
            Excel.Application app = new Excel.Application();
            object MissingValue = Type.Missing;
            Excel.Workbook wb = app.Workbooks.Add(true);
            Excel.Worksheet ws = null;
            app.DisplayAlerts = false;
            app.AlertBeforeOverwriting = false;
            ws = (Excel.Worksheet)wb.Sheets["Sheet1"];
            #endregion

            #region 填充数据
            Object[,] dataArray = new Object[1 + write.Rows.Count, write.Columns.Count];
            for (int i = 0; i < write.Columns.Count; i++)//填写列名
            {
                dataArray[0, i] = write.Columns[i].ColumnName;

                for (int j = 0; j < write.Rows.Count; j++)//填入数据
                {
                    dataArray[j + 1, i] = write.Rows[j][i].ToString();
                }

            }

            Excel.Range range = ws.Range[ws.Cells[1, 1], ws.Cells[1 + write.Rows.Count, write.Columns.Count]];

            range.Value2 = dataArray;
            range.EntireColumn.AutoFit(); //自动设置列宽
            range.EntireRow.AutoFit(); //自动设置行高
            
            wb.Saved = true;
            wb.SaveCopyAs(path);//保存

            app.Quit();//关闭进程
            //关闭EXCEL进程
            app = null;
            wb = null;
            ws = null;
            GC.Collect();
            MessageBox.Show("Excel导出完成");
            }

代码中的write是datatable,你改为arraylist就可以了

追问

刚C#起步这么复杂看不懂啊~能像问题要求中内容写一下么~有些地方备注下不然偶实在看不了,麻烦了

追答

Object[,] dataArray = new Object[5, 3];
就是你说的二维数组嘛,上面这样new出来就是5行3列的二维数组了.

Excel.Range range = ws.Range[ws.Cells[1, 1], ws.Cells[5,3];这句就是将二维数据保存到excel的范围嘛,ws.Cells[1, 1]就是第一行第一列 A1.范围就是A1到F3咯,这个按你的意愿改啦.

range.Value2 = dataArray;就是二维数组dataArray 放到你设定的excel范围range内

初始化和关闭线程你可以直接用.

追问

我把这个private void writeExcel()删了应为不知道怎么用~然后取了第一段的初始化到#endregion和最后一段wb.Saved = true之后的内容;但没有EXCEL表出来呢~应该怎么弄呢?怎么创EXCEL、名称和位置?

追答

wb.SaveCopyAs(path);//保存
path就是保存路径
例如:
wb.SaveCopyAs(C:\Users\Administrator\Desktop\1.xls);
建议你先看看c#操作excel的说明.

温馨提示:答案为网友推荐,仅供参考