将DataSet里所有数据导入Excel
来源:互联网 发布:16选一数据选择器 编辑:程序博客网 时间:2024/05/17 08:34
/**//// <summary>
/// 将DataSet里所有数据导入Excel
/// 需要添加COM: Microsoft Excel Object Library
/// using Excel;
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="ds">需要转存的DataSet</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中
System.Text.StringBuilder stringBuffer = new System.Text.StringBuilder();
for( int j=0; j<ds.Tables[i].Rows.Count; j++ )
...{
for( int k=0; k<ds.Tables[i].Columns.Count; k++ )
...{
/// 将DataSet里所有数据导入Excel
/// 需要添加COM: Microsoft Excel Object Library
/// using Excel;
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="ds">需要转存的DataSet</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中
System.Text.StringBuilder stringBuffer = new System.Text.StringBuilder();
for( int j=0; j<ds.Tables[i].Rows.Count; j++ )
...{
for( int k=0; k<ds.Tables[i].Columns.Count; k++ )
...{
stringBuffer.Append((string)ds.Tables[i].Rows[j][k]);
if( k < ds.Tables[i].Columns.Count - 1 )
stringBuffer.Append("/t");
}
stringBuffer.Append("/n");
}
// 利用系统剪切板
System.Windows.Forms.Clipboard.SetDataObject("");
// 将stringBuffer放入剪切板
System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);
// 选中这个sheet页中的第一个单元格(下标从1开始)
((Excel.Range)xlWorksheet.Cells[1,1]).Select();
// 将剪切板里的内容粘贴在Sheet中
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
...{
// 释放COM对象
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
GC.Collect();
}
}
if( k < ds.Tables[i].Columns.Count - 1 )
stringBuffer.Append("/t");
}
stringBuffer.Append("/n");
}
// 利用系统剪切板
System.Windows.Forms.Clipboard.SetDataObject("");
// 将stringBuffer放入剪切板
System.Windows.Forms.Clipboard.SetDataObject(stringBuffer);
// 选中这个sheet页中的第一个单元格(下标从1开始)
((Excel.Range)xlWorksheet.Cells[1,1]).Select();
// 将剪切板里的内容粘贴在Sheet中
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
...{
// 释放COM对象
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
GC.Collect();
}
}
- 将DataSet里所有数据导入Excel
- 将DataSet里所有数据导入Excel
- DataSet里所有数据导入Excel注意事项
- DataSet里所有数据导入Excel
- 将Excel中所有Sheet的数据导入一个DataSet
- 将Excel中所有Sheet的数据导入一个DataSet
- 怎么由DataSet将数据导入Excel?
- 怎么由DataSet将数据导入Excel?
- 怎么由DataSet将数据导入Excel?
- 怎么由DataSet将数据导入Excel?
- 怎么由DataSet将数据导入Excel
- C#将excel数据导入dataset
- 将Excel导入DataSet
- 往Excel里导入数据的一种方法(dataset-->excel)
- 把DataSet或者DataTable里的数据导入Excel中
- 使用ODBC, 将CSV文件里的数据导入DataSet
- 将EXCEL中的数据导入到DataSet中
- 将DBGrid里的数据导入EXCEL的
- 完成端口使用总结
- 冒泡排序和改进的冒泡排序的性能差距
- T-sql DateTime数据类型的格式转换
- JavaScript 表单验证(三十五)
- nero8 刻录 avi文件
- 将DataSet里所有数据导入Excel
- linux操作系统下的SHELL病毒简介
- JavaScript 动画(三十六)
- 在.NET中操作XmlDocument
- 中级.NET开发人员
- oracle安装过程
- JavaScript 图像地图(三十七)
- 移动互联网不可能取代桌面互联网
- 深入了解 Microsoft AJAX Library