首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net

将DataTable导出Xlsx格式的文件下载(网页输出):

1 ///

2 /// 导出Excel表格

3 ///

4 /// 数据集合

5 /// 数据表头

6 ///

7 public void ExportExcel(DataTable dt, string[] header)

8 {

9 Workbook wb = new Workbook(FileFormatType.Xlsx);

10 try

11 {

12 Worksheet sheet = wb.Worksheets[0];

13 sheet.Name = "MO上行查询结果";

14 if (dt.Rows.Count <= 0)

15 {

16 System.Web.HttpContext.Current.Response.Write("");

17 return;

18 }

19 // 为单元格添加样式

20 Aspose.Cells.Style style = wb.CreateStyle();

21 style.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center; //设置居中

22 style.Font.Size = 12;//文字大小

23 style.Font.IsBold = true;//粗体

24 style.HorizontalAlignment = TextAlignmentType.Center;//文字居中

25

26 int rowIndex = 0;

27 for (int i = 0; i < header.Length; i++)

28 {

29 sheet.Cells[rowIndex, i].PutValue(header[i]);

30 sheet.Cells[rowIndex, i].SetStyle(style);

31 sheet.Cells.SetColumnWidth(i, 20);//设置宽度

32 }

33 for (int i = 0; i < dt.Rows.Count; i++)//遍历DataTable行

34 {

35 sheet.Cells[i + 1, 0].PutValue(dt.Rows[i]["SENDER"].ToString());

36 sheet.Cells[i + 1, 1].PutValue(dt.Rows[i]["SENDCONTENT"].ToString());

37 sheet.Cells[i + 1, 2].PutValue("");

38 sheet.Cells[i + 1, 3].PutValue(dt.Rows[i]["RECDATE"].ToString());

39 sheet.Cells[i + 1, 4].PutValue(dt.Rows[i]["sn"].ToString());

40 }

41 }

42 catch (Exception e)

43 {

44 System.Web.HttpContext.Current.Response.Write("");

45 }

46 #region 输出到Excel

47 using (MemoryStream ms = new MemoryStream())

48 {

49

50 wb.Save(ms, new OoxmlSaveOptions(SaveFormat.Xlsx));//默认支持xls版,需要修改指定版本

51 System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xlsx", DateTime.Now.ToString("yyyyMMddHHmmssfff")));

52 System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";

53 System.Web.HttpContext.Current.Response.BinaryWrite(ms.ToArray());

54 wb = null;

55 System.Web.HttpContext.Current.Response.End();

56 }

57 #endregion

58 }

Aspose.Cells.dll 下载地址:http://pan.baidu.com/s/1o8TRXDg

其它相关参考:

https://my.oschina.net/u/876556/blog/98801

http://www.cnblogs.com/top5/archive/2010/02/16/1668801.html

http://www.cnblogs.com/springyangwc/archive/2011/08/12/2136498.html

Aspose.Cells组件可以不依赖excel来导入导出excel文件:

导入:

public static System.Data.DataTable ReadExcel(String strFileName)

{

Workbook book = new Workbook();

book.Open(strFileName);

Worksheet sheet = book.Worksheets[0];

Cells cells = sheet.Cells;

return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);

}

导出:

private static void Export(IEnumerable data, HttpResponse response)

{

Workbook workbook = new Workbook();

Worksheet sheet = (Worksheet)workbook.Worksheets[0];

PropertyInfo[] ps = typeof(T).GetProperties();

var colIndex = "A";

foreach (var p in ps)

{

sheet.Cells[colIndex + 1].PutValue(p.Name);

int i = 2;

foreach (var d in data)

{

sheet.Cells[colIndex + i].PutValue(p.GetValue(d, null));

i++;

}

colIndex = ((char)(colIndex[0] + 1)).ToString();

}

response.Clear();

response.Buffer = true;

response.Charset = "utf-8";

response.AppendHeader("Content-Disposition", "attachment;filename=xxx.xls");

response.ContentEncoding = System.Text.Encoding.UTF8;

response.ContentType = "application/ms-excel";

response.BinaryWrite(workbook.SaveToStream().ToArray());

response.End();

}

非常简单,好用!

————————————————

版权声明:本文为CSDN博主「weiky626」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weiky626/article/details/7514637

aspose.cells html excel导出,C#使用Aspose.Cells导出Excel简单实现相关推荐

  1. 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

    我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...

  2. C# 读写excel 用于导入数据库 批量导入导出excel

    给大家介绍一款控件,Aspose.Cells.dll,相当强大,几乎就是excel,支持excel2003,excel2007等格式文件.excel2010以上,没有经过测试,估计也是可以. Aspo ...

  3. 文档控件Aspose概述:带你全面了解Aspose产品特点

    Aspose于2002年3月在澳大利亚悉尼创建,旗下产品覆盖文档.图表.PDF.条码.OCR.CAD.HTML.电子邮件等各个文档管理领域,为全球.NET .Java.C ++等10余种平台开发人员提 ...

  4. C# 中Excel导出,可以自由设置导出的excel格式

    Excel导出,不管在java,C#等后台语言,或者是javascrit,jquery等脚本语言,有很多种方式都可以将查出的数据导成excel的格式.我这次是从公司的一个同事那里学来的一个方法.是有关 ...

  5. C# 导出dataGridView中的值到Excel

    方法/步骤 添加Office Excel引用,在.net下面. 程序代码引用:using Excel = Microsoft.Office.Interop.Excel; 添加事件控件"导出E ...

  6. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  7. powerdesigner导出mysql数据库表结构到Excel

    前提 要做数据源的整理,需要将Mysql数据库表的结构导出到Excel表里面做文档记录; 第一个Sheet是所有表格的列表,其他的Sheet是每一个表格的详细字段以及注释说明. 打开PowerDesi ...

  8. php web表格导出,javascript将web表格导出成excel

    导出Excel var idTmr = ""; function killExcelProcess(appExcel_){ appExcel_.Quit(); appExcel_ ...

  9. 通用Excel表格导出(Map类型数据导出为表格)

    背景 为提升代码开发效率,项目使用了通用查询(动态数据表.动态条件.动态列名等),各表查询通过同一个页面展现,前端通过获取路径上的表名调用同一个后端控制器--动态获取到查询条件.数据列名.不同表数据等 ...

最新文章

  1. 为什么NLP相对来说这么困难?
  2. Python基础教程第1章:基础知识---学习记录
  3. oracle sql developer 查看游标结果集(3.0.04
  4. 【Python】Numpy中伪随机数的简单使用
  5. vision安装过程中出错_scrapy安装过程中之Twisted的安装遇到的坑
  6. python是脚本语言_python需要编译,为什么还把他叫做脚本语言?
  7. HDU2594 Simpsons’ Hidden Talents 前缀与后缀转化成用s1去匹配s2
  8. 大型网站技术架构演进与性能优化
  9. n1盒子救砖_斐讯N1盒子刷机救砖教程
  10. c++STL库最详细介绍(保姆级教学)
  11. 记一次菜鸟网络电话面试
  12. win10无限蓝屏_WIN10无限重启怎么解决,现在开不了机
  13. pyftpdlib 创建ftpserver
  14. WinMerge 过滤器用法
  15. Fater RCNN 试着加入注意力机制模型
  16. kodi+java版_[转] Emby+KODI--完美的NAS多媒体方案
  17. Flutter Candies 一桶天下,一个小例子彻底搞懂Android的MVP模式到底是什么
  18. 经纬度和高德地图计算两点距离面积
  19. 高德地图-添加一个或多个覆盖物
  20. 华为计算机视觉算法,【华为图像算法面试】计算机视觉算法岗,第一面就挂了-看准网...

热门文章

  1. 使用scikit-learn进行机器学习的简易教程
  2. 统计学习方法第五章作业:ID3/C4.5算法分类决策树、平方误差二叉回归树代码实现
  3. 安装Jenkins及配置自由风格自动打包部署
  4. 炼丹面试官的面试笔记
  5. Oracle发布开源的轻量级 Java 微服务框架 Helidon 1
  6. SEO算法:如何通过PageRank算法判断SEO排序结果
  7. 微服务Apache ServiceComb 数据一致性Saga演进介绍
  8. Redis多机功能之复制
  9. 通过Intent调用系统功能大全
  10. java继承 子类重写父类方法