欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#将Sql数据保存到Excel文件中的方法

程序员文章站 2023-12-17 17:24:16
本文实例讲述了c#将sql数据保存到excel文件中的方法,非常有实用价值。分享给大家供大家参考借鉴之用。 具体功能代码如下: public string ex...

本文实例讲述了c#将sql数据保存到excel文件中的方法,非常有实用价值。分享给大家供大家参考借鉴之用。

具体功能代码如下:

public string exportexcel( dataset ds,string savefilename)
{
  try
  {
 if (ds == null) 
   return "数据库为空";
 
 bool filesaved = false;
 microsoft.office.interop.excel.application xlapp = new microsoft.office.interop.excel.application();
 if (xlapp == null)
 {
   return "无法创建excel对象,可能您的机子未安装excel";
 }
 microsoft.office.interop.excel.workbooks workbooks = xlapp.workbooks;
 microsoft.office.interop.excel.workbook workbook = workbooks.add(microsoft.office.interop.excel.xlwbatemplate.xlwbatworksheet);
 microsoft.office.interop.excel.worksheet worksheet = (microsoft.office.interop.excel.worksheet)workbook.worksheets[1];//取得sheet1
 //写入字段
 for (int i = 0; i < ds.tables[0].columns.count; i++)
 {
   worksheet.cells[1, i + 1] = ds.tables[0].columns[i].columnname;
 }
 //写入数值
 for (int r = 0; r < ds.tables[0].rows.count; r++)
 {
   for (int i = 0; i < ds.tables[0].columns.count; i++)
   {
 worksheet.cells[r + 2, i + 1] = ds.tables[0].rows[r][i];
   }
   system.windows.forms.application.doevents();
 }
 worksheet.columns.entirecolumn.autofit();//列宽自适应。
 if (savefilename != "")
 {
   try
   {
 workbook.saved = true;
 workbook.savecopyas(savefilename);
 filesaved = true;
   }
   catch (exception ex)
   {
 filesaved = false;
 messagebox.show("导出文件时出错,文件可能正被打开!\n" + ex.message);
   }
 }
 else
 {
   filesaved = false;
 }
 xlapp.quit();
 gc.collect();//强行销毁
 if (filesaved && system.io.file.exists(savefilename)) system.diagnostics.process.start(savefilename); //打开excel
 return "成功保存到excel";
  }
  catch (exception ex)
  {
 return ex.tostring();
  }
}

希望本文所述实例对大家c#程序设计有所帮助。

上一篇:

下一篇: