Dataset中有4张Datatable,入和将这四张表导入到个excel文件中分别对应Sheet1,Sheet2,Sheet3,Sheet4,还有如何更改sheet的名字

解决方案 »

  1.   

    很久以前做过,用OWC,创建Sheet即可。
      

  2.   

    我这里有现成的几种方法,winfrom的我在用可以。
    你自己看看吧。
    http://blog.csdn.net/wesleyluo/archive/2009/02/05/3864351.aspx
      

  3.   

    添加excel的com对象.然后做就可以了
    excel.Sheets.Add(Type.Missing, workSheet, Type.Missing, Type.Missing);//这是添加一个sheet以前写过一个.你自己参考一下吧 public void CreateExcelFile(string path, string orBatchid, string batchName)
            {
                if (path == null || path.Trim().Length == 0)
                {
                    throw new ArgumentNullException("path");
                }            if (batchName == null || batchName.Trim().Length < 3)
                {
                    throw new ArgumentNullException("batchName");
                }            batchName = batchName.Trim();                        DataSet ds = prm.GetExportToExcelData(Convert.ToInt32(orBatchid));            Excel.ApplicationClass excel = new Excel.ApplicationClass();
                Excel.Worksheet workSheet;
                excel.Application.Workbooks.Add(true);            if (ds.Tables[0].Rows.Count == ds.Tables.Count - 1)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//sheet name
                    {
                        workSheet = (Excel.Worksheet)excel.Sheets.get_Item(i + 1);
                        workSheet.Name = batchName.Substring(0,3) + "_" + ds.Tables[0].Rows[i][0].ToString() + "_" + ds.Tables[0].Rows[i][1].ToString();//sheet name                    int rowIndex = 1;
                        int colIndex = 0;                    foreach (DataColumn col in ds.Tables[i + 1].Columns)
                        {
                            colIndex++;
                            workSheet.Cells[1, colIndex] = col.ColumnName;                       
                        }
                        
                        workSheet.Cells[1, ++colIndex] = ds.Tables[0].Rows[i][0].ToString() + " " + ds.Tables[0].Rows[i][1].ToString();                    foreach (DataRow row in ds.Tables[i + 1].Rows)
                        {
                            rowIndex++;
                            colIndex = 0;
                            foreach (DataColumn col in ds.Tables[i + 1].Columns)
                            {
                                colIndex++;
                                workSheet.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
                            }
                        }                    workSheet.Cells[rowIndex + 2, 1] = "---------End of Data---------";
                        
                        workSheet.Cells.Font.Name = "Arial";
                        workSheet.Cells.Font.Size = 10;
                        workSheet.Cells.EntireColumn.AutoFit();                    if (i < ds.Tables[0].Rows.Count - 1)
                        {
                            excel.Sheets.Add(Type.Missing, workSheet, Type.Missing, Type.Missing);
                        }
                    }                excel.Visible = false;
                    excel.DisplayAlerts = false;
                    excel.ActiveWorkbook.SaveAs(path + "\\" + batchName + DateTime.Now.ToString("yyyyMMdd"), Excel.XlFileFormat.xlExcel7, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    excel.Quit();
                    
                }
            }
      

  4.   

    你试试这个http://blog.csdn.net/hhxxcj/archive/2009/01/14/3772552.aspx
      

  5.   

    Microsoft.Office.Interop.Excel.ApplicationClass objApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                Microsoft.Office.Interop.Excel._Workbook objWorkbook;            Microsoft.Office.Interop.Excel._Worksheet objWorksheet;
                objWorkbook = objApp.Workbooks.Add(true);  
    添加sheet添加数据,再修改名称
    ((Excel.Worksheet)objApp.Sheets[i]).Name ="";
    http://www.cnblogs.com/8user/articles/1282972.html
      

  6.   

    添加excel的com对象. 然后做就可以了 
    excel.Sheets.Add(Type.Missing, workSheet, Type.Missing, Type.Missing);//这是添加一个sheet 
      

  7.   

    http://www.cnblogs.com/8user/articles/1282972.html