2019独角兽企业重金招聘Python工程师标准>>>

在工作中经常遇到需要用c#生成Excel文件(.xls和.xlsx格式),完全免费开源的ExcelLibrary是一个不错的选择。

ExcelLibrary项目的地址为:

https://code.google.com/p/excellibrary/

ExcelLibrary源码下载地址:

https://code.google.com/p/excellibrary/downloads/list

ExcelLibrary提供了一个基于本地.NET应用程序的解决方案,可以用来新建,读取和修改Excel文件而不需要使用COM或者OLEDB。现在已经支持.xls文件格式,.xlsx(Excel 2007)也即将被支持。

ExcelLibrary官方示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//create new xls file
string      file =      "C:\\newdoc.xls"     ;
Workbook workbook =      new      Workbook();
Worksheet worksheet =      new      Worksheet(     "First Sheet"     );
worksheet.Cells[0, 1] =      new      Cell((     short     )1);
worksheet.Cells[2, 0] =      new      Cell(9999999);
worksheet.Cells[3, 3] =      new      Cell((     decimal     )3.45);
worksheet.Cells[2, 2] =      new      Cell(     "Text string"     );
worksheet.Cells[2, 4] =      new      Cell(     "Second string"     );
worksheet.Cells[4, 0] =      new      Cell(32764.5,      "#,##0.00"     );
worksheet.Cells[5, 1] =      new      Cell(DateTime.Now,      @"YYYY\-MM\-DD"     );
worksheet.Cells.ColumnWidth[0, 1] = 3000;
workbook.Worksheets.Add(worksheet);
workbook.Save(file);
// open xls file
Workbook book = Workbook.Load(file);
Worksheet sheet = book.Worksheets[0];
      // traverse cells
      foreach      (Pair<Pair<     int         int     >, Cell> cell      in      sheet.Cells)
      {
          dgvCells[cell.Left.Right, cell.Left.Left].Value = cell.Right.Value;
      }
      // traverse rows by Index
      for      (     int      rowIndex = sheet.Cells.FirstRowIndex;
rowIndex <= sheet.Cells.LastRowIndex; rowIndex++)
      {
          Row row = sheet.Cells.GetRow(rowIndex);
          for      (     int      colIndex = row.FirstColIndex;
colIndex <= row.LastColIndex; colIndex++)
          {
              Cell cell = row.GetCell(colIndex);
          }
      }

ExcelLibrary示例代码二(从数据库中获取数据然后创建Excel文件):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//Create the data set and table
DataSet ds =      new      DataSet(     "New_DataSet"     );
DataTable dt =      new      DataTable(     "New_DataTable"     );
//Set the locale for each
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
//Open a DB connection (in this example with OleDB)
OleDbConnection con =      new      OleDbConnection(dbConnectionString);
con.Open();
//Create a query and fill the data table with the data from the DB
string      sql =      "SELECT Whatever FROM MyDBTable;"     ;
OleDbCommand cmd =      new      OleDbCommand(sql, con);
OleDbDataAdapter adptr =      new      OleDbDataAdapter();
adptr.SelectCommand = cmd;
adptr.Fill(dt);
con.Close();
//Add the table to the data set
ds.Tables.Add(dt);
//Here's the easy part. Create the Excel worksheet from the data set
ExcelLibrary.DataSetHelper.CreateWorkbook(     "MyExcelFile.xls"     , ds);

另外,还可以使用EPPlus, EPPlus支持生成Excel 2007/2010 格式的文件(.xlsx) 其主页为:

http://epplus.codeplex.com/

EPPlus项目基于LGPL开源协议。

转载请注明:文章转载自:[169IT-最新最全的IT资讯]
本文标题:c#如何生成Excel(.xls和.xlsx)文件

转载于:https://my.oschina.net/u/1766067/blog/300322

c#如何生成Excel(.xls和.xlsx)文件相关推荐

  1. python pandas合并多个excel_python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)...

    # python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...

  2. python excel处理框架_django框架基于模板 生成 excel(xls) 文件操作示例

    本文实例讲述了django框架基于模板 生成 excel(xls) 文件操作.分享给大家供大家参考,具体如下: 生成Excel 文件,很多人会采用一些开源的库来实现,比如python 自带 csv 库 ...

  3. Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包

    Java程序利用POJ读写Excel文件时,不能只用poi的jar包,因为它还依赖于xmlbeans的jar包,xmlbeans又以来与common-collections的jar包,因此,正常使用P ...

  4. Excel的写入和读操作,以及.xls和.xlsx文件的区别

    如何对Excel文件操作 目录 如何对Excel文件操作 前言 一.xlsx和xls的区别 二.对Excel的读取与写入 1.xlwt和xlrd库 2.对代码Excel进行读取 3.对Excel的写入 ...

  5. Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”...

    近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面"新建"→" Microsoft Excel ...

  6. java poi对excel xls和xlsx格式文件导入导出

    一)poi简介 Apache POI项目是用于基于Microsoft的OLE 2复合文档格式开发文件格式的纯Java端口的主项目. 官网POI API地址:https://poi.apache.org ...

  7. 用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV

    利用poi将excel文件后缀为.xls .xlsx的文件转换成txt/csv文本文件 首先,引入所需的jar包: <dependencies>2 <dependency>3 ...

  8. java通过poi生成excel并下载出现文件打不开、文件格式和文件扩展名无效问题的分析与解决

    需求描述: 需要完成这样一个功能:后台通过poi生成excle,前台点击按钮可直接下载. 代码逻辑(核心部分): 第一种: public String generatePlanExcel(@Reque ...

  9. js 前端实现将json格式数组下载到excel(xls、xlsx、csv)表格里

    项目需求:上传文件时如果有错误信息,则上传不成功,需要提示用户下载查看错误信息.下载查看错误信息是前端根据后台返回的对象数组放到excel表格中的. 后台返回的数组: 效果如下: 在开始之前先要了解一 ...

最新文章

  1. pytorch读取文本训练
  2. Go interface 操作示例
  3. 密码学系列之:memory-bound函数
  4. 工作311:uni-携带当前参数跳转页面传值
  5. Python 中 assert的使用位置及源码解析
  6. Java开发必会Git分布式版本控制系统实战篇
  7. python 列表嵌套 元素全部相同
  8. MPPDB和Hadoop有什么区别
  9. 淘宝开店不看这个,难怪你不挣钱!
  10. PTA 1055 集体照 (25 分) C++实现
  11. kafka生产者报错:[org.apache.kafka.clients.NetworkClient:600] - Error while fetching metadata with corre
  12. mysql 占位符使用_Mysql占位符插入
  13. 小贝SEO博客_专注于SEO优化_软件_活动分享
  14. 扛住100亿次请求——如何做一个“有把握”的春晚红包系统?
  15. html页面自适应是什么意思,什么是自适应网页设计
  16. 《汇编语言》王爽(第四版) 第十二章 实验12
  17. 分布式图计算系统与算法简单文献综述
  18. 又是一年高考季,转眼间已经过去12年了
  19. jenkins 运行 jenkins-agent.jnlp 报错None of the protocols are enabled
  20. 打卡日历html源码,经典模式打卡日历_闯关模式打课时列表.html

热门文章

  1. No package nginx available.
  2. SpringBoot使用MongoDB异常问题
  3. Javascript .map文件-JavaScript源地图
  4. Shell命令对整数求和,每行一个?
  5. 何时在脚本标记中需要CDATA节?
  6. echo输出到stderr
  7. winform ctrl键单击多选_鼠标各键在CAD中的运用,左右键常用,但滚轮这个功能不一定用过...
  8. html5编辑漂亮静态页面工具_青岛HTML5与Web前端
  9. 4WD机器人运动控制MDK工程(实现ROS与STM32F407通信)
  10. mysql的表导入pgsql用_postgresql 导入数据库表并重设自增属性的操作