使用EPPLUS快速转换Excel
来源:互联网 发布:python range转换list 编辑:程序博客网 时间:2024/05/29 15:08
EPPlus 是使用Open Office XML格式(xlsx)读写Excel 2007 / 2010文件的.net开发库。
Program.cs代码:
class Program { static void Main(string[] args) { Random r = new Random(); var ds = new DataSet(); var table1 = ds.Tables.Add("aaa"); table1.Columns.Add("Id", typeof(long)); table1.Columns.Add("Name", typeof(string)); table1.Columns.Add("Date", typeof(DateTime)); table1.Columns.Add("Guid", typeof(Guid)); var row1 = table1.NewRow(); row1["Id"] = 1; row1["Name"] = "阿尔"; row1["Date"] = new DateTime(2015,01,01); row1["Guid"] = Guid.NewGuid(); table1.Rows.Add(row1); var row2 = table1.NewRow(); row2["Id"] = 2; row2["Name"] = "八戒"; row2["Date"] = new DateTime(2015, 02, 02); row2["Guid"] = Guid.NewGuid(); table1.Rows.Add(row2); var row3 = table1.NewRow(); row3["Id"] = 3; row3["Name"] = "雨神"; row3["Date"] = new DateTime(2015, 03, 03); row3["Guid"] = Guid.NewGuid(); table1.Rows.Add(row3); var sec = "QWERTYUIOPASDFGHJKLZXCVBNM"; for (int i = 0; i < 20; i++) { row3 = table1.NewRow(); row3["Id"] = 3+i; row3["Name"] = string.Concat(Enumerable.Range(0,r.Next(4,8)).Select(x=>sec[r.Next(sec.Length)])); row3["Date"] = new DateTime(2015, r.Next(1,12), r.Next(1,28)); row3["Guid"] = Guid.NewGuid(); table1.Rows.Add(row3); } File.WriteAllBytes("Den.xlsx", ExcelExporter.GetExcelBytes(ds)); } }
ExcelExporter.cs代码:
using System;using System.Data;using System.Globalization;using System.Text;using System.Web;using OfficeOpenXml;using OfficeOpenXml.Table;namespace ExcelExporter{ public static class ExcelExporter { public static byte[] GetExcelBytes(DataSet dataSet) { using (var package = new ExcelPackage()) { var sheetIndex = 1; foreach (DataTable table in dataSet.Tables) { var tableName = table.TableName; if (String.IsNullOrWhiteSpace(tableName)) tableName = "Sayfa " + sheetIndex; var worksheet = package.Workbook.Worksheets.Add(tableName); worksheet.Cells["A1"].LoadFromDataTable(table, true, TableStyles.Medium1); var i = 1; foreach (DataColumn column in table.Columns) { var excelColumn = worksheet.Column(i); excelColumn.BestFit = true; if (column.DataType == typeof(DateTime)) { excelColumn.Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern + " " + DateTimeFormatInfo.CurrentInfo.ShortTimePattern; } excelColumn.AutoFit(); i++; } sheetIndex++; } return package.GetAsByteArray(); } } public static void SendExcel(string fileName, DataSet dataSet, HttpResponse response) { var excel = GetExcelBytes(dataSet); response.ContentEncoding = Encoding.UTF8; response.Charset = "UTF-8"; response.AddHeader("content-disposition", "attachment;filename=" + fileName); response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; response.BinaryWrite(excel); } }}
运行结果如图:
阅读全文
0 0
- 使用EPPLUS快速转换Excel
- 使用EPPlus(C#)读写Excel
- 使用Epplus生成Excel 图表
- Epplus读取Excel
- C#调用epplus 创建Excel
- C#调用epplus 创建Excel
- Epplus 操作Excel 2007/2010
- EPPlus之Excel二级联动
- EPPlus 读写 Excel 资料收集
- C# Epplus 创建Excel表格
- Epplus
- 在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表
- 在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表
- 在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
- Epplus组件导出Excel数据透视表
- NPOI vs EPPlus 导出Excel简单对比
- C#中 EPPlus对Excel的读写
- java多线程-线程内存模型
- Shiro权限控制 ---base64加密、MD5加密
- echarts中的事件触发(legend)
- 设计模式---享元模式
- word 2007打开总是配置窗口出现的解决办法
- 使用EPPLUS快速转换Excel
- C语言经典程序一
- python导入py文件报错怎么办
- CSU
- 解决weka API读取Oracle10g数据库中date型数据出错问题
- STM32启动代码解析
- java线程类Thread中的方法
- Eclipse反编译插件JadClipse安装(用于打开.class文件)
- AES学习小结