使用EPPLUS操作EXcel

时间 2014-11-06 19:28:01  姜糖水
主题 Excel

1 下载Epplus最新版: http://epplus.codeplex.com/

2 在项目中添加引用 EEPULS.dll(测试环境Win7+V2010旗舰)

3  添加using引用

using OfficeOpenXml;

using OfficeOpenXml.Drawing;

using OfficeOpenXml.Drawing.Chart;

using OfficeOpenXml.Style;

4 read Excel文件

private void button2_Click(object sender, EventArgs e)
    {
      string pfilePath = "";
      OpenFileDialog ofd = new OpenFileDialog();
      ofd.Filter = "*.xls|*.xlsx";
      if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
      {
        pfilePath = ofd.FileName;
      }
      if (string.IsNullOrEmpty(pfilePath))
      {
        MessageBox.Show("没有选中文件");
        return;
      }

      FileInfo existingFile = new FileInfo(pfilePath);
      try
      {
        ExcelPackage package = new ExcelPackage(existingFile);
        int vSheetCount = package.Workbook.Worksheets.Count; //获取总Sheet页

        ExcelWorksheet worksheet = package.Workbook.Worksheets[1];//选定 指定页

        int maxColumnNum = worksheet.Dimension.End.Column;//最大列
        int minColumnNum = worksheet.Dimension.Start.Column;//最小列

        int maxRowNum = worksheet.Dimension.End.Row;//最小行
        int minRowNum = worksheet.Dimension.Start.Row;//最大行

        DataTable vTable = new DataTable();
        DataColumn vC;
        for (int j = 1; j <= maxColumnNum; j++)
        {
          vC = new DataColumn("A_" + j, typeof(string));
          vTable.Columns.Add(vC);
        }
        if (maxRowNum > 200)
        {
          maxRowNum = 200;
        }
        for (int n = 1; n <= maxRowNum; n++)
        {
          DataRow vRow = vTable.NewRow();
          for (int m = 1; m <= maxColumnNum; m++)
          {
            vRow[m - 1] = worksheet.Cells[n, m].Value;
          }
          vTable.Rows.Add(vRow);
        }
        this.dataGridView1.DataSource = vTable;
      }
      catch (Exception vErr)
      {
        MessageBox.Show(vErr.Message);
      }
    }

5 write Excel文件

private void button1_Click(object sender, EventArgs e)
        {

     OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.ExcelPackage();
     OfficeOpenXml.ExcelWorkbook wb = ep.Workbook;
     OfficeOpenXml.ExcelWorksheet ws = wb.Worksheets.Add("我的工作表");
     //配置文件属性
     wb.Properties.Category = "类别";
     wb.Properties.Author = "作者";
     wb.Properties.Comments = "备注";
     wb.Properties.Company = "公司";
     wb.Properties.Keywords = "关键字";
     wb.Properties.Manager = "管理者";
     wb.Properties.Status = "内容状态";
     wb.Properties.Subject = "主题";
     wb.Properties.Title = "标题";
     wb.Properties.LastModifiedBy = "最后一次保存者";
     //写数据
     ws.Cells[1, 1].Value = "Hello";

     ws.Column(1).Width=40;//修改列宽
     ws.Cells["B1"].Value = "World";
     ws.Cells[3, 3, 3, 5].Merge = true;
     ws.Cells[3, 3].Value = "Cells[3, 3, 3, 5]合并";
     ws.Cells["A4:D5"].Merge = true;
     ws.Cells["A4"].Value = "Cells[\"A4:D5\"]合并";

     SaveFileDialog sfd = new SaveFileDialog();
     sfd.Filter = "*.xls|*.xlsx";
     if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
     {
         FileInfo file = new FileInfo(sfd.FileName);
         ep.File = file;
         ep.Save();
         MessageBox.Show("保存成功");
     }
     else
     {
         MessageBox.Show("取消保存");
     }
        }

上述代码大部分来源网络,只进行过小改动,下面是原文和资料地址:

http://blog.csdn.net/jimmy2248/article/details/8363697

http://blog.csdn.net/zhoufoxcn/article/details/14112473

http://www.cnblogs.com/liudeyun/p/3535740.html

http://blog.163.com/china__xuhua/blog/static/19972316920136335721285/

使用EPPLUS操作EXcel的更多相关文章

  1. C#使用第三方组件Epplus操作Excel表

    Epplus操作Excel基础详解 1.什么是Epplus Epplus是一个使用Open Office XML文件格式,能读写Excel2007/2010文件的开源组件,在导出Excel的时候不需要 ...

  2. ASP.NET Core使用EPPlus操作Excel

    1.前言 本篇文章通过ASP.NET Core的EPPlus包去操作Excel(导入导出),其使用原理与NPOI类似,导出Excel的时候不需要电脑上安装office,非常好用 2.使用 新建一个AS ...

  3. 使用LinqToExcel和EPPlus操作excel

    1.使用LinqToExcel LinqToExcel是一个.net framework平台下开源项目,它主要实现了LINQ的语法查询Excel电子表格.类型之前的LINQToXXX如果你是LINQ语 ...

  4. c#用EPPLUS操作excel

    参考: http://www.cnblogs.com/rumeng/p/3785748.html http://www.cnblogs.com/libla/p/5824296.html#3818995 ...

  5. [Solution] NPOI操作Excel

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...

  6. .net 操作excel

    .net 操作excel的常用组件:EPPlus,NPOI 1.NPOI,即POI的.NET版本(POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office文件, ...

  7. 【代码沉淀】 - EPPlus - 操作xlsx表格文件

    EPPlus - Create advanced Excel spreadsheets on the server.web: http://epplus.codeplex.com/nuget: Ins ...

  8. C# 操作 Excel(.xls和.xlsx)文件

    C#创建Excel(.xls和.xlsx)文件的三种方法 .NET 使用NPOI导入导出标准Excel C# 使用NPOI 实现Excel的简单导入导出 NET使用NPOI组件将数据导出Excel-通 ...

  9. [Asp.net] C# 操作Excel的几种方式 优缺点比较

    在项目中我们常常需要将数据库中的数据导出成Excel文件 有一次工作中我的目的就是读取Excel到内存中,整理成指定格式 整理后再导出到Excel. 因为我要处理的每个Excel表格文件很大.一个表格 ...

随机推荐

  1. 数据库连接池系列之——c3p0

    c3p0的jar包是:c3p0-0.9.1.jar <bean id = "dataSource" class = "com.mchange.v2.c3p0.Com ...

  2. 一次编译Android源码实验

    注意,本文只供参考,是老文章 1.必要的软件环境 sudo apt-get install build-essential sudo apt-get install make sudo apt-get ...

  3. javascript实现二分查找

    今天做了道笔试题,要求是实现二分查找,当然不难,想了一下,因为没有要求语言就用javascript实现了.当然,期间还是出来了一点问题. ok,上代码 /* * 稳定二分查找 * 作者:吴伟欣 * * ...

  4. Struts2的处理结果(一)——处理结果的配置

    Struts2的处理结果(一) --处理结果的配置 1.处理结果 在Action处理完用户请求之后,并不会直接生成响应,而是把一个字符串返回给Struts2框架,再由框架选择此字符串结果对应的物理视图 ...

  5. C#String详解

    字符串:stringLength - 字符串的长度. TrimStart() 压缩空格即消除字符串开始空格TrimEnd() 消除结尾空格Trim() 同时消除开头和结尾空格.注:中间空格不消除,因为 ...

  6. SQL生成随机数

    ALTER FUNCTION [dbo].[ufn_Random] ( @A INT, @B INT ) RETURNS INT AS BEGIN /* 功能:生成随机数 */ ,) , SELECT ...

  7. 查看博客模板的css代码

    1.可以去模板列表里选择一个模板 http://www.cnblogs.com/Skins.aspx 目前使用的模板是http://www.cnblogs.com/SkinUser.aspx?Skin ...

  8. vb6.0安装程序制作图解教程

    如何制作vb安装程序,是在学习Vb6.0过程中比较常见的一个入门问题. 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不 ...

  9. [SAP ABAP开发技术总结]几个小问题

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. python_way ,day1 编译安装python3、基础及流程控制

    本节内容: 1,Python介绍发展史 2,安装 3,Hello World 4,程序 5,变量,字符编码 6,用户输入 7,模块初识 一.python介绍 python的创始人为吉多·范罗苏姆(Gu ...