数据量一大操作起来速度就慢。
请问有什么好的方案吗

解决方案 »

  1.   

    导入Excel时,千万不要一个一个表格的写,可以用数组一次性导入
    //获取一个工作表
                        Excel.Worksheet sheet = book.Worksheets[i + 1] as Excel.Worksheet;
                        int cnt = table.Rows.Count;
                        int columncnt = table.Columns.Count;                    // *****************获取数据********************
                        object[,] objData = new Object[cnt + 1, columncnt];  //创建缓存数据
                        // 获取列标题
                        for (int m = 0; m < columncnt; m++)
                        {
                            objData[0, m] = table.Columns[m].ColumnName;
                        }
                        // 获取具体数据
                        for (int m = 0; m < cnt; m++)
                        {
                            System.Data.DataRow dr = table.Rows[m];
                            for (int n = 0; n < columncnt; n++)
                            {
                                objData[m + 1, n] = dr[n];
                            }
                        }                    //********************* 写入Excel******************
                        Excel.Range r = sheet.Range[sheet.Cells[1, 1], sheet.Cells[cnt + 1, columncnt]];
                        r.NumberFormat = "@";
                        r.Value2 = objData;
                        r.EntireColumn.AutoFit();
                        r.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
                        r.Font.Size = 9;