当前位置:  编程技术>.net/c#/asp.net

c# 读取与写入Excel的代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  开始之前,作二点说明: 1、excel文件只能存储65535行数据,如果大于这个传值,请首先分割文件。 2、乱码,原因在于字符的设置。 来看二个例子吧,分别是读取excel、写入excel。 一、加载Excel(读取excel内容)返回值是一个D...

开始之前,作二点说明:
1、excel文件只能存储65535行数据,如果大于这个传值,请首先分割文件。
2、乱码,原因在于字符的设置。

来看二个例子吧,分别是读取excel、写入excel。

一、加载Excel(读取excel内容)返回值是一个DataSet
 

代码示例:

  //加载Excel
  public static DataSet LoadDataFromExcel(string filePath)
  {
      try
      {
          string strConn;
          strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
          OleDbConnection OleConn = new OleDbConnection(strConn);
          OleConn.Open();
          String sql = "SELECT * FROM  [Sheet1$]";//可是更改Sheet名称,比如sheet2,等等

          OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
          DataSet OleDsExcle = new DataSet();
          OleDaExcel.Fill(OleDsExcle, "Sheet1");
          OleConn.Close();
          return OleDsExcle;
      }
      catch (Exception err)
      {
          MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
          return null;
      }
  }

二、写入Excel内容,参数:excelTable是要导入excel的一个table表
 

代码示例:

public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)
  {
      Microsoft.Office.Interop.Excel.Application app =
          new Microsoft.Office.Interop.Excel.ApplicationClass();
      try
      {
          app.Visible = false;
          Workbook wBook = app.Workbooks.Add(true);
          Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
          if (excelTable.Rows.Count > 0)
          {
    int row = 0;
    row = excelTable.Rows.Count;
    int col = excelTable.Columns.Count;
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            string str = excelTable.Rows[i][j].ToString();
            wSheet.Cells[i + 2, j + 1] = str;
        }
    }
          }

          int size = excelTable.Columns.Count;
          for (int i = 0; i < size; i++)
          {
    wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
          }
          //设置禁止弹出保存和覆盖的询问提示框
          app.DisplayAlerts = false;
          app.AlertBeforeOverwriting = false;
          //保存工作簿
          wBook.Save();
          //保存excel文件
          app.Save(filePath);
          app.SaveWorkspace(filePath);
          app.Quit();
          app = null;
          return true;
      }
      catch (Exception err)
      {
          MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
          return false;
      }
      finally
      {
      }
  }


    
 
 

您可能感兴趣的文章:

  • C#逐行读取txt文件的方法
  • C# 读取配置文件(指定路径)的方法
  • C# 正则表达式读取Discuz帖子中附件的代码举例
  • c#读取文本的简单例子
  • C# 读取指定路径配置文件的方法
  • c#简单读取文本的实例方法
  • C# 创建文本文件写入读取实现代码
  • C#读取RSS的小例子
  • c#读取图像保存到数据库(数据库保存图片)实例
  • 解决C# X64应用程序中读取WParam溢出的问题
  • c#多线程读取注册表 c#多线程的小例子
  • c#读取图像保存到数据库中(数据库保存图片)
  • c# 二进制方式读取文本文件的实现代码
  • C#读取EXCEL文件内容写入数据库的代码
  • C#操作图片读取和存储SQLserver实现代码
  • C#读取文件MD5值的实现代码
  • c#读取excel内容内容示例分享
  • C#反射技术(读取和设置类的属性)的例子
  • c# 以二进制读取文本文件
  • C#利用Openxml读取Excel数据实例
  • 多进程问题 子进程读取内容 读完挂起,父进程写 写入后唤醒子进程
  • sed用法:怎么从一文件a中读取一行,添加些内容再写入另一文件b
  • asp.net读取与写入cookie的小例子
  • VC++实现CStdioFile写入及读取文件并自动换行的方法
  • PHP读取与写入文件小例子
  • python进阶教程之文本文件的读取和写入
  • php读取csv、写入csv与导出csv文件
  • java按指定编码写入和读取文件内容的类分享
  • SOS!!如何读取写入类型为Text字段的内容,数据库为MS Sql Server,分不是问题,不够再加,只要能解决!
  • 文件写入读取小程序,希望各位大神帮忙修改一下~~~
  • jquery.cookie() 方法的使用(读取、写入、删除)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • asp.net读取本地与全局资料文件的代码
  • 谁知道linux/unix下利用Schema读取校验xml的开源代码,给一个链接,谢谢!
  • 求在Linux(Ubuntu)下的C截屏代码(读取/dev/fb0)!!
  • 求Delphi下读取usb口的程序及代码?提供者100分相送
  • PHP读取文件内容后清空文件示例代码
  • linux下用什么办法连接oracle数据库并且读取数据呢?(用c++代码实现时)
  • php读取与下载csv文件的示例代码
  • asp.net读取txt文件内容的代码
  • 按行读取文件的代码(php、c实现)
  • PHP按行读取、处理较大CSV文件的代码实例
  • Android读取用户号码,手机串号,SIM卡序列号的实现代码
  • Php无限级栏目分类读取的实现代码
  • java 读取excel内容具体代码
  • 请高手帮我看下这段读取串口的代码哪里出了问题?
  • java读取文件内容的三种方法代码片断分享(java文件操作)
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • asp.net读取与删除磁盘文件的实例代码
  • 谁能给一段java读取网页代码的例子。
  • Jquery读取json文件的代码举例
  • C 创建链表并将信息存储在二进制文件中读取的实例代码
  • C++ I/O 成员 getline():读取一行字符
  • read函数读取文件时如何一行一行的读取,请指教!
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • linux 下使用 FREETDS 访问数据库 image 字段的问题, 仅能读取 64K ,超出部分读取不到?
  • C++ I/O 成员 ignore():读取字符并忽略指定字符
  • java中读取.txt和读取.ini文件的方式和命令是否一样
  • C++ I/O 成员 read():读取字条符
  • 上传文件时,如何在读取文件内容之前中断读取,并返回客户端错误信息?
  • C++ I/O 成员 gcount():返回读取的最后一次输入的字符数
  • 光驱中有一张光盘,成功读取,现在想换另一张光盘并读取,该如何做


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3