日常工作中经常需要将后台的数据导出成excel  格式,这里通过调用微软提供的类库来生成excel 文件。

具体是引用 了Microsoft.Office.Interop.Excel.dll 类库文件来生成excel 文件,这样使用起来比较方便,这是我的实例代码:

 public static void ExportExcel() {

            // excel 文件的数据源
DataSet ds = CommonDB.executeQuery(CommandType.StoredProcedure, "GetAllProducts"); try
{
Application statusExcel = new Microsoft.Office.Interop.Excel.Application();
Workbook statusWorkbook = statusExcel.Application.Workbooks.Add(true);
Worksheet wsStatusSheet = (Worksheet)statusWorkbook.Worksheets.Add(statusWorkbook.Sheets[1], Type.Missing, Type.Missing, Type.Missing);
((Worksheet)statusWorkbook.Sheets["Sheet1"]).Delete();
wsStatusSheet.Name = "Status11"; int excelCurrRow = 1;
wsStatusSheet.Cells[excelCurrRow, 1] = "Name";
wsStatusSheet.Cells[excelCurrRow, 2] = "Category";
wsStatusSheet.Cells[excelCurrRow, 3] = "Price";
wsStatusSheet.Cells[excelCurrRow, 4] = "Description"; Range firstHeaderRow = wsStatusSheet.get_Range("A1:D1", System.Type.Missing);
firstHeaderRow.Font.Bold = true;
firstHeaderRow.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.ColorTranslator.FromHtml("#808080"));
firstHeaderRow.Font.Color = 2;
firstHeaderRow.Font.Name = "Calibri";
firstHeaderRow.EntireRow.RowHeight = 30;
firstHeaderRow.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter; Range statusSheetFirstColumn = wsStatusSheet.get_Range("A:A", System.Type.Missing);
statusSheetFirstColumn.EntireColumn.ColumnWidth = 36.43; Range statusSheetSecondColumn = wsStatusSheet.get_Range("B:B", System.Type.Missing);
statusSheetSecondColumn.EntireColumn.ColumnWidth = 15.71; Range statusSheetThirdColumn = wsStatusSheet.get_Range("C:C", System.Type.Missing);
statusSheetThirdColumn.EntireColumn.ColumnWidth = 15.43; Range statusSheetFourthColumn = wsStatusSheet.get_Range("D:D", System.Type.Missing);
statusSheetFourthColumn.EntireColumn.ColumnWidth = 17.86; excelCurrRow++; for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
for (int j = 1; j <= 4; j++)
{
wsStatusSheet.Cells[excelCurrRow, j] = ds.Tables[0].Rows[i][j - 1].ToString();
}
excelCurrRow++;
} // 指定生成的文件名和路径
string statusFilePath = ConfigurationManager.AppSettings["statusExcelPath"];
string fileName = "Result_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
fileName = statusFilePath + fileName;
if (File.Exists(fileName))
{
File.Delete(fileName);
} object missing = System.Reflection.Missing.Value; // 保存excel 文件
statusWorkbook.SaveAs(fileName, XlFileFormat.xlOpenXMLWorkbook, missing, missing, false, false, XlSaveAsAccessMode.xlNoChange,
XlSaveConflictResolution.xlUserResolution, true, missing, missing, missing); }
catch (Exception ex) { }
}

如下是生成的excel 文件截图:

使用Microsoft.Office.Interop.Excel.dll 文件来生成excel 文件的更多相关文章

  1. C# Microsoft.Office.Interop.Owc11 导出excel文件

    C# Microsoft.Office.Interop.Owc11 导出excel文件 1.新建项SupremeWindowsForms窗体应用项目(项目平台设置称X86) 注意:因为大多数第三方写的 ...

  2. VS编程中找不到Microsoft.Office.Core、Microsoft.Office.Interop.Word和VBIDE

    在使用vs2005. vs2008. vs2010 制作包含 word等office的应用程序时,有时找不到对Microsoft.Office.Core. Microsoft.Office.Inter ...

  3. c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件

    1.引用Microsoft.Office.Interop.Excel.dll 2.引用命名空间.使用别名 using System.Reflection; using Excel = Microsof ...

  4. Excel操作 Microsoft.Office.Interop.Excel.dll的使用

    ----转载: http://www.cnblogs.com/lanjun/archive/2012/06/17/2552920.html 先说说题外话,前段时间近一个月,我一直在做单据导入功能,其中 ...

  5. NPOI写Excel,Microsoft.Office.Interop.excel.dll 转换Excel为PDF

    首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 下载链接 ,下载以后解压文件,把 ...

  6. Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库

    1. Interop.Excel.dll 的查找 本文中将 Microsoft.Office.Interop.Excel.dll库简称为Interop.Excel.dll库 其实在使用Visual S ...

  7. C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

    项目添加应用 Microsoft.Office.Interop.Excel.dll 文件 引用命名空间: using Excel = Microsoft.Office.Interop.Excel; 简 ...

  8. Microsoft.Office.Interop.Excel操作Excel文件时出现的问题及解决方案

    问题描述: Microsoft.Office.Interop.Excel.Worksheet 打不开文件 Microsoft Office Excel 不能访问文件"a.xls". ...

  9. C# Microsoft.Office.Interop.Excel.ApplicationClass 加载类型库/DLL 时出错

    问题  无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Intero ...

随机推荐

  1. <html> ---- position

    position 固定的属性,是全局的.和DIV层次无关. <!DOCTYPE html> <html lang="en"> <head> &l ...

  2. C# 比较和排序(IComparable和IComparer以及它们的泛型实现)

    准备工作: 1.创建实体类:ClassInfo,默认想要对其按照班级学生数量进行排序 public class ClassInfo  { /// <summary> /// 班级名称 // ...

  3. Springboot中的事件Event

    事件Event作为一种常用的线程通讯工具,在Springboot中可以方便地提供开发者进行线程交互. 1.事件定义 1 import org.springframework.context.Appli ...

  4. 3.13 练习题4:邮件发送(smtp)

    3.13 练习题4:邮件发送(smtp) 前言本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了.以下代 ...

  5. Android Studio 入口程序的设置方法

    在src -> main中 ,打开 AndroidManifest.xml 这个文件 下面这里有两个窗口,如果要想把哪个窗口设置成入口窗体,只要把下面红色的放在这个节点中就可以了 <act ...

  6. caffe: c++11支持

    1)在Makefile中400行左右, CXXFLAGS += -MMD -MP  改成:CXXFLAGS += -MMD -MP -std=c++0x,好像还改了不少地方,有的是 -std=c++1 ...

  7. .NET Framework 4.0/4.5离线版下载

    /******************************************************************************* * .NET Framework 4. ...

  8. react抛物线小球实现

    .ballFather{ position: absolute; width: 15px; height: 15px; border-radius: 50%; transition: all 0.5s ...

  9. JavaScript权威指南--第3章 类型、值和变量

    在编程语言中,能够表示并操作的值(value)的类型称作数据类型(type).使用变量来储存值.JavaScript中数据类型有两种:原始类型(primitive type/基本数据类型)和对象类型( ...

  10. PTA——字符串逆序

    PTA 7-59 字符串逆序 #include<stdio.h> #include<string.h> #define N 81 int main() { int i; cha ...