如果你导出的数据不需要设置格式什么的,可以使用Ado.net的OLEDB来连接EXCEL
这玩意可以创建EXCEL文件,可以创建SHEET,
创建使用SQL的Create table命令
找个参考给你
如果要设置格式且表格不规则,参考
能帮助你直接读写office文件流的库

解决方案 »

  1.   

     
     
    OpenFileDialog ofd = new OpenFileDialog();
                ofd.Title = "打开(Open)";
                ofd.FileName = "";
                ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                ofd.Filter="文本文件(*.xls)|*.xls"; string Filepath = ofd.FileName;
                    string Sheetname = "Sheet1";//改变这里的值即取得不同sheets的内容
                    string Strcon;
                    Strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Filepath + ";Extended Properties=Excel 5.0;";
                    OleDbConnection conn = new OleDbConnection(Strcon);
                    OleDbDataAdapter oleda = new OleDbDataAdapter("select * from [" + Sheetname + "$]", Strcon);
                    DataSet ds = new DataSet();
                    oleda.Fill(ds);
                    dataGridView1.DataSource = ds.Tables[0].DefaultView;
      

  2.   

    public static void ExportExcel(DataSet ds, String FName)
            {
                if (ds == null) return;            string saveFileName = "";
                bool fileSaved = false;
                SaveFileDialog saveDialog = new SaveFileDialog();
                saveDialog.DefaultExt = "xls";
                saveDialog.Filter = "Excel文件|*.xls";
                saveDialog.FileName = FName;
                saveDialog.ShowDialog();
                saveFileName = saveDialog.FileName;
                if (saveFileName.IndexOf(":") < 0) return;             Excel.Application xlApp = new Excel.Application();            if (xlApp == null)
                {
                    MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");
                    return;
                }            Workbooks workbooks = xlApp.Workbooks;
                Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
                Worksheet worksheet = (Worksheet)workbook.Worksheets[1];//取得sheet1(这里是重点)
                //写入字段
                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                {
                    worksheet.Cells[1, i + 1] = ds.Tables[0].Columns[i].ColumnName;
                }
                //写入数值            for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
                {
                    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                    {
                        worksheet.Cells[r + 2, i + 1] = ds.Tables[0].Rows[r][i].ToString();
                    }
                    System.Windows.Forms.Application.DoEvents();
                }
                worksheet.Columns.EntireColumn.AutoFit();            if (saveFileName != "")
                {
                    try
                    {
                        workbook.Saved = true;
                        workbook.SaveCopyAs(saveFileName);
                        fileSaved = true;
                    }
                    catch (Exception ex)
                    {
                        fileSaved = false;
                        MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
                    }
                }
                else
                {
                    fileSaved = false;
                }
                xlApp.Quit();
                GC.Collect();
                if (fileSaved && File.Exists(saveFileName)) Process.Start(saveFileName); 
            }
      

  3.   

    都没看人家的问题,他是要保存到Excel,你这是读取Excel
      

  4.   


    Excel.Application eAppWr = new Excel.ApplicationClass();
    eAppWr.Visible = true;
    //打开或者创建Excel文件
    Excel.Workbook eBookWr = eApp.Workbooks.Open(strPath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
    //Excel.Workbook eBookWr = eAppWr.Workbooks.Add(1);
    //添加Sheet
    Excel.Worksheet eSheetWr = (Excel.Worksheet)eBookWr.Worksheets.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    //Sheet重命名
    eSheetWr.Name = strSheetName;
    //循环,写入数据,rowindex,colindex都是从1开始
    //SheetWr.cells[rowindex,colindex]=strValue;
    //循环结束
    //保存
    eBookWr.Save();
    //
      

  5.   

    遍历数据,添加多个sheet
    Excel.Application app = new Excel.ApplicationClass();   
    app.Visible = true;   
    Excel.Workbook workBook = app.Workbooks.Open(templetFile,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing,missing);   
    Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);   
    for(int i=1;i <sheetCount;i++)   
    {   
    ((Excel.Worksheet)workBook.Worksheets.get_Item(i)).Copy(missing,workBook.Worksheets[i]);   
     
    }   
    http://topic.csdn.net/u/20100627/11/c8a9319e-9d86-4792-98ed-7add7374ad6c.html