c#如何生成Excel(.xls和.xlsx)文件
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)文件相关推荐
- python pandas合并多个excel_python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)...
# python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...
- python excel处理框架_django框架基于模板 生成 excel(xls) 文件操作示例
本文实例讲述了django框架基于模板 生成 excel(xls) 文件操作.分享给大家供大家参考,具体如下: 生成Excel 文件,很多人会采用一些开源的库来实现,比如python 自带 csv 库 ...
- Java程序利用POJ读写Excel的.xls或.xlsx文件所需的3个jar包
Java程序利用POJ读写Excel文件时,不能只用poi的jar包,因为它还依赖于xmlbeans的jar包,xmlbeans又以来与common-collections的jar包,因此,正常使用P ...
- Excel的写入和读操作,以及.xls和.xlsx文件的区别
如何对Excel文件操作 目录 如何对Excel文件操作 前言 一.xlsx和xls的区别 二.对Excel的读取与写入 1.xlwt和xlrd库 2.对代码Excel进行读取 3.对Excel的写入 ...
- Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”...
近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面"新建"→" Microsoft Excel ...
- java poi对excel xls和xlsx格式文件导入导出
一)poi简介 Apache POI项目是用于基于Microsoft的OLE 2复合文档格式开发文件格式的纯Java端口的主项目. 官网POI API地址:https://poi.apache.org ...
- 用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV
利用poi将excel文件后缀为.xls .xlsx的文件转换成txt/csv文本文件 首先,引入所需的jar包: <dependencies>2 <dependency>3 ...
- java通过poi生成excel并下载出现文件打不开、文件格式和文件扩展名无效问题的分析与解决
需求描述: 需要完成这样一个功能:后台通过poi生成excle,前台点击按钮可直接下载. 代码逻辑(核心部分): 第一种: public String generatePlanExcel(@Reque ...
- js 前端实现将json格式数组下载到excel(xls、xlsx、csv)表格里
项目需求:上传文件时如果有错误信息,则上传不成功,需要提示用户下载查看错误信息.下载查看错误信息是前端根据后台返回的对象数组放到excel表格中的. 后台返回的数组: 效果如下: 在开始之前先要了解一 ...
最新文章
- pytorch读取文本训练
- Go interface 操作示例
- 密码学系列之:memory-bound函数
- 工作311:uni-携带当前参数跳转页面传值
- Python 中 assert的使用位置及源码解析
- Java开发必会Git分布式版本控制系统实战篇
- python 列表嵌套 元素全部相同
- MPPDB和Hadoop有什么区别
- 淘宝开店不看这个,难怪你不挣钱!
- PTA 1055 集体照 (25 分) C++实现
- kafka生产者报错:[org.apache.kafka.clients.NetworkClient:600] - Error while fetching metadata with corre
- mysql 占位符使用_Mysql占位符插入
- 小贝SEO博客_专注于SEO优化_软件_活动分享
- 扛住100亿次请求——如何做一个“有把握”的春晚红包系统?
- html页面自适应是什么意思,什么是自适应网页设计
- 《汇编语言》王爽(第四版) 第十二章 实验12
- 分布式图计算系统与算法简单文献综述
- 又是一年高考季,转眼间已经过去12年了
- jenkins 运行 jenkins-agent.jnlp 报错None of the protocols are enabled
- 打卡日历html源码,经典模式打卡日历_闯关模式打课时列表.html
热门文章
- No package nginx available.
- SpringBoot使用MongoDB异常问题
- Javascript .map文件-JavaScript源地图
- Shell命令对整数求和,每行一个?
- 何时在脚本标记中需要CDATA节?
- echo输出到stderr
- winform ctrl键单击多选_鼠标各键在CAD中的运用,左右键常用,但滚轮这个功能不一定用过...
- html5编辑漂亮静态页面工具_青岛HTML5与Web前端
- 4WD机器人运动控制MDK工程(实现ROS与STM32F407通信)
- mysql的表导入pgsql用_postgresql 导入数据库表并重设自增属性的操作