请问如何把一个页面中的三个gridview导入到一个excel中的3个sheet

解决方案 »

  1.   

    http://wenku.baidu.com/view/a234cfc20c22590102029d30.html
      

  2.   

    3个gridview一样.
    public void DataTableToExcel(DataTable dt, string sFilter, int startRow, int startCol)//1101框架 Excel Class
            {
                    //得到WorkSheet对象
                Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);            DataRow[] drs = dt.Select(sFilter);//根据筛选条件筛选。
                int rowCount = drs.Length;
                int colCount = dt.Columns.Count;// columns.Length;
                object[,] dataArray = new object[rowCount + 1, colCount];//二维数组定义是多一个标题行。
                for (int j = 0; j < colCount; j++)
                {
                    dataArray[0, j] = dt.Columns[j].Caption;//导出字段标题。
                    //根据各列的数据类型设置Excel的格式。
                    switch (dt.Columns[j].DataType.ToString())
                    {
                        case "System.String": workSheet.get_Range(workSheet.Cells[startRow, startCol + j], workSheet.Cells[rowCount + startRow, startCol + j]).NumberFormatLocal = "@"; break;
                        case "System.DateTime": workSheet.get_Range(workSheet.Cells[startRow, startCol + j], workSheet.Cells[rowCount + startRow, startCol + j]).NumberFormatLocal = "yyyy-mm-dd"; break;
                        //可以根据自己的需要扩展。
                        default: workSheet.get_Range(workSheet.Cells[startRow, startCol + j], workSheet.Cells[rowCount + startRow, startCol + j]).NumberFormatLocal = "G/通用格式"; break;
                    }
                    for (int i = 0; i < rowCount; i++)
                    {
                        dataArray[i + 1, j] = drs[i][j];
                    }
                }
                workSheet.get_Range(workSheet.Cells[startRow, startCol], workSheet.Cells[rowCount + startRow, colCount + startCol - 1]).Value2 = dataArray;
            }