2010-09-08 18 views
0

J'ai une tâche pour vider les données de l'ensemble de données dans Excel WorkBook.Suppose si avoir plus d'un tableau alors je dois créer plus de feuilles de travail dynamiquement.Pour que j'ai fait une petite application.Mais j'étais bloqué avec la création de WorkSheets.Could Quelqu'un m'aider? Ci-dessous le codeComment exporter les données dans ExcelWorkBook?

private void btn_export2excel_Click(object sender, EventArgs e) 
{ 
    DataSet ds = new DataSet(); 
    ds.Tables.Add("Categories"); 
    ds.Tables.Add("Employee"); 

    try 
    { 
    Excel.Application xlApp; 
    Excel.Workbook xlWorkBook; 
    Excel.Worksheet[] xlWorkSheet = new Excel.Worksheet[2]; 
    object misValue = System.Reflection.Missing.Value; 
    xlApp = new Excel.Application(); 
    xlWorkBook = xlApp.Workbooks.Add(misValue); 
    xlWorkSheet[0] = (Excel.Worksheet) xlWorkBook.Worksheets.get_Item(1); 
    xlWorkSheet[1] = (Excel.Worksheet) xlWorkBook.Worksheets.get_Item(1); 
    xlWorkSheet[0].Cells[1, 1] = "www.google.com"; 
    xlWorkSheet[1].Cells[1, 1] = "www.yahoo.com"; 
    xlWorkBook.SaveAs("Sample.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, 
         Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
    xlWorkBook.Close(true, misValue, misValue); 
    xlApp.Quit(); 
    releaseObject(xlWorkSheet[0]); 
    releaseObject(xlWorkSheet[1]); 
    releaseObject(xlWorkBook); 
    releaseObject(xlApp); 
    } 
    catch (Exception ex) 
    { 
    MessageBox.Show(ex.Message, "Message from form"); 
    } 
    finally 
    { 
    GC.Collect(); 
    } 
} 

private void releaseObject(object obj) 
{ 
    try 
    { 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); 
    obj = null; 
    } 
    catch (Exception ex) 
    { 
    obj = null; 
    MessageBox.Show("Exception Occured while releasing object " + ex.ToString()); 
    } 
    finally 
    { 
    GC.Collect(); 
    } 
} 

Répondre

1

Essayez ceci ExportHelper. Cet article explique clairement comment exporter un ensemble de données avec plusieurs tables à plusieurs feuilles de calcul dans Excel.