C#将datatable导出到excel
2015-08-27 16:35
537 查看
using System.IO;
using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
public bool ExportFile(System.Data.DataTable dt)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*";
sfd.Title = "Excel文件导出";
string fileName = "";
if (sfd.ShowDialog() == DialogResult.OK)
{
fileName = sfd.FileName;
Excel.Application app = new Excel.Application();
if (app == null)
{
MessageBox.Show("Excel启动失败!");
return false;
}
try
{
app.Visible = false;
Excel.Workbook xlWorkBook = app.Workbooks.Add(Type.Missing);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i;
for (i = 0; i < dt.Columns.Count; i++)
{
xlWorkSheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
}
for (i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
xlWorkSheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();
}
}
xlWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
xlWorkBook.Close(true, Type.Missing, Type.Missing);
app.Quit();
ReleaseObject(xlWorkSheet);
ReleaseObject(xlWorkBook);
ReleaseObject(app);
return true;
}
catch (System.Exception exc)
{
MessageBox.Show("excel运行错误:"+exc.Message);
return false;
}
}
else
{
return false;
}
}
using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
public bool ExportFile(System.Data.DataTable dt)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*";
sfd.Title = "Excel文件导出";
string fileName = "";
if (sfd.ShowDialog() == DialogResult.OK)
{
fileName = sfd.FileName;
Excel.Application app = new Excel.Application();
if (app == null)
{
MessageBox.Show("Excel启动失败!");
return false;
}
try
{
app.Visible = false;
Excel.Workbook xlWorkBook = app.Workbooks.Add(Type.Missing);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i;
for (i = 0; i < dt.Columns.Count; i++)
{
xlWorkSheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
}
for (i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
xlWorkSheet.Cells[i + 2, j + 1] = dt.Rows[i][j].ToString();
}
}
xlWorkBook.SaveAs(fileName, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
xlWorkBook.Close(true, Type.Missing, Type.Missing);
app.Quit();
ReleaseObject(xlWorkSheet);
ReleaseObject(xlWorkBook);
ReleaseObject(app);
return true;
}
catch (System.Exception exc)
{
MessageBox.Show("excel运行错误:"+exc.Message);
return false;
}
}
else
{
return false;
}
}
相关文章推荐
- 使用Python生成Excel格式的图片
- c#调用COM组件
- Excel 曝出 Power Query 安全漏洞,1.2 亿用户易受远程 DDE 攻击
- excel vba 限制工作表的滚动区域代码
- excel vba 高亮显示当前行代码
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程