怎么由DataSet将数据导入Excel?


所属类别:.NET

文章作者:未知

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


/// /// 将DataSet里所有数据导入Excel./// 需要添加COM: Microsoft Excel Object Library./// using Excel;/// /// /// 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;// 循环所有DataTablefor( 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 += "\t";}stringBuffer += "\n";}// 利用系统剪切板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();}}关闭本页

相关信息

· 抠出Windows 2003中IIS6安装程序

· JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用

·  VS2005的隐藏快捷键

· Windows2000DNS技术指南10








....

25359 80535