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

 更新时间:2014年08月26日 08:49:12   投稿:shichen2014  
这篇文章主要介绍了C#将Sql数据保存到Excel文件中的方法,文中的ExportExcel可起到将sql数据导出为Excel的作用,需要的朋友可以参考下

本文实例讲述了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#程序设计有所帮助。

相关文章

  • c# 如何更简单的使用Polly

    c# 如何更简单的使用Polly

    这篇文章主要介绍了c# 如何更简单的使用Polly,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C# yield关键字详解

    C# yield关键字详解

    这篇文章主要介绍了C# yield关键字详解,本文讲解了yield是一个语法糖、语法糖的实现(实现IEnumerable<T>接口的类)、yield使用中的特殊情况等内容,需要的朋友可以参考下
    2015-04-04
  • Silverlight将图片转换为byte的实现代码

    Silverlight将图片转换为byte的实现代码

    这篇文章主要介绍了Silverlight将图片转换为byte的实现代码,需要的朋友可以参考下
    2015-11-11
  • 使用windows控制台调试服务的方法

    使用windows控制台调试服务的方法

    这篇文章主要介绍了使用windows控制台调试服务的方法,需要的朋友可以参考下
    2014-02-02
  • 3种C# 加载Word的方法

    3种C# 加载Word的方法

    本次经验内容分享通过C#程序来加载Word文档的3种不同方法。分别是:加载本地Word文档、以只读模式加载Word文档、从流加载Word 想具体了解的小伙伴请参考下文
    2021-09-09
  • Unity5.6大规模地形资源创建方法

    Unity5.6大规模地形资源创建方法

    这篇文章主要为大家详细介绍了Unity5.6大规模地形资源创建方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C#实现给PDF文档设置过期时间

    C#实现给PDF文档设置过期时间

    我们可以给一些重要文档或者临时文件设置过期时间和过期信息提示来提醒读者或管理者文档的时效性,并及时对文档进行调整、更新等。下面本文将介绍如何通过C#来给PDF文档设置过期时间的方法。需要的可以参考一下
    2022-01-01
  • 使用winapi安装Windows服务示例程序

    使用winapi安装Windows服务示例程序

    这篇文章主要介绍了使用winapi安装Windows服务示例,大家参考使用吧
    2014-01-01
  • C#获取文件、文件夹和驱动器的信息示例详解

    C#获取文件、文件夹和驱动器的信息示例详解

    在C#中,文件、文件夹和驱动器是文件系统操作的基本元素,了解如何获取这些元素的信息对于开发文件处理和管理工具至关重要,本文将详细介绍如何在C#中获取有关文件、文件夹和驱动器的信息,并提供相应的示例,需要的朋友可以参考下
    2024-08-08
  • 详解c# 并行计算

    详解c# 并行计算

    本文主要介绍了并行计算的简单使用,并行循环的中断和跳出、并行循环中为数组/集合添加项、返回集合运算结果/含有局部变量的并行循环、、PLinq(Linq的并行计算)等相关内容。
    2020-12-12

最新评论