附件:Aspose.Cells.dll

1.创建execl(不需要服务器或者客户端安装office)

public void DCExexl(DataTable dt)
{
  Workbook wb = new Workbook();
  Worksheet ws = wb.Worksheets[0];
  Cells cell = ws.Cells;

cell[0, 0].PutValue("ID");//添加数据到第0行和第0列

cell.SetRowHeight(0, 0);设置行高

Aspose.Cells.Style style1 = wb.Styles[wb.Styles.Add()];
 style1.HorizontalAlignment = TextAlignmentType.Right;//文字居中

style1.Font.Name = "宋体";
 style1.Font.IsBold = true;//设置粗体
 style1.Font.Size = 12;//设置字体大小

cell[0, 0].SetStyle(style1);

cell.SetColumnWidth(0, 10.00);//列宽

Range range = cell.CreateRange(0, 0, 1, 1);//合并单元格
range.Merge();

string FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
 HttpResponse response = Page.Response;
 response.Buffer = true;
 response.Charset = "utf-8";
 response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
 response.ContentEncoding = System.Text.Encoding.UTF8;
 response.ContentType = "application/ms-excel";
 response.BinaryWrite(wb.SaveToStream().ToArray());
 response.End();

}

2.读取execl

public DataTable GetDataTable(string path)
{
 Workbook workbook = new Workbook();
 workbook.Open(path);
 Cells cells = workbook.Worksheets[0].Cells;
 DataTable dt = new DataTable();
 bool d = true;//防止表头重复加载
 for (int i = 0; i < cells.MaxDataRow + 1; i++)
 {
  DataRow row = dt.NewRow();
  for (int j = 0; j < cells.MaxDataColumn + 1; j++)
   {
    if (d) {
     dt.Columns.Add(cells[0, j].StringValue.Trim());
    }
 
   row[j] = cells[i + 1, j].StringValue.Trim();
 }
  dt.Rows.Add(row);
  d = false;
}
return dt;
}

最新文章

  1. 客户关系管理系统-CRM源码
  2. 微信Android客户端架构演进之路
  3. NoSQL数据库探讨之一 - 为什么要用非关系数据库?
  4. String 和 document 的相互转换总结
  5. 操作SQLite数据库
  6. Linux 计划任务 Crontab 笔记与总结(1)
  7. C#学习笔记(与Java、C、C++和Python对比)
  8. jquery plugins —— datatables 搜索后汇总
  9. ADO.Net技术
  10. 写两个线程,一个对n每次加一,一个对n每次减一
  11. Android周笔记(9.8-14)(持续更新)
  12. 应用java多线程实现server端与多client之间的通信
  13. iOS Storyboard适配问题
  14. 十三、 Spring Boot 启动加载数据 CommandLineRunner
  15. tomcat6 高并发配置 与优化
  16. python3 实现对代码文件中注释的翻译
  17. 迭代DOM集合的几种方法
  18. 剑指offer(19)二叉树中和为某一值的路径
  19. controller层负责创建类传递类给service;service层负责逻辑编写调用dao层 将编写后的类传递到dao层,保证事务的正确性;dao层负责数据的持久化
  20. python参数

热门文章

  1. poj 2369 Permutations (置换入门)
  2. This Handler class should be static or leaks might occur(null) 解决办法 (转)
  3. Redis基础学习(四)&mdash;Redis的持久化
  4. 为Jquery EasyUI 组件加上“清除”功能
  5. Java事物基础总结
  6. Java基础学习
  7. 跟着刚哥梳理java知识点——流程控制(六)
  8. Java中线程的yield(),sleep()以及wait()的区别
  9. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub
  10. TomCat杀进程