PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > ASP.NET教程 > 正文

    用DataSet将数据导入Excel?

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读: <summary> 将DataSet里所有数据导入Excel. 需要添加COM: Microsoft Excel Object Library. using Excel; < summ...
    /// <summary>
    /// 将DataSet里所有数据导入Excel.
    /// 需要添加COM: Microsoft Excel Object Library.
    /// using Excel;
    /// </summary>
    /// <param></param>
    /// <param></param>
    public static void ExportToExcel(string filePath, DataSet ds)
    {
    object oMissing = System.Reflection.Missing.Value;
    Excel.ApplicationClass xlApp = new Excel.ApplicationClass();
    try
    {
    // 打开Excel文件。以下为Office 2000.
    Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(filePath, oMissing, oMissing, oMissing, oMissing, oMissing, 
    oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
    oMissing);
    Excel.Worksheet xlWorksheet;
    // 循环所有DataTable
    for( int i=0; i<ds.Tables.Count; i++ )
    {
    // 添加入一个新的Sheet页。
    xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing,oMissing,1,oMissing);
    // 以TableName作为新加的Sheet页名。
    xlWorksheet.Name = ds.Tables[i].TableName;
    // 取出这个DataTable中的所有值,暂存于stringBuffer中。
    string stringBuffer = "";
    for( int j=0; j<ds.Tables[i].Rows.Count; j++ )
    {
    for( int k=0; k<ds.Tables[i].Columns.Count; k++ )
    {

    stringBuffer += ds.Tables[i].Rows[j][k].ToString();
    if( k < ds.Tables[i].Columns.Count - 1 )
    stringBuffer += "";
    }
    stringBuffer += "";
    }
    // 利用系统剪切板
    System.Windows.Forms.Clipboard.SetDataObject("");
    // 将stringBuffer放入剪切板。
    System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);
    // 选中这个sheet页中的第一个单元格
    ((Excel.Range)xlWorksheet.Cells[1,1]).Select();
    // 粘贴!
    xlWorksheet.Paste(oMissing,oMissing);
    // 清空系统剪切板。
    System.Windows.Forms.Clipboard.SetDataObject("");
    }
    // 保存并关闭这个工作簿。
    xlWorkbook.Close( Excel.XlSaveAction.xlSaveChanges, oMissing, oMissing );
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook);
    xlWorkbook = null;
    }
    catch(Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    finally
    {
    // 释放...
    xlApp.Quit();
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
    xlApp = null;
    GC.Collect();
    }
    }
    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-11-309-1.html
    相关热词搜索: 导入Excel DataSet