using System; using System.Collections.Generic;
 using System.Linq;
 using System.Web;
 using System.IO;
 using System.Data;
 using Aspose.Cells;
 
/// <summary>
///OutFileDao 的摘要说明
/// </summary>
 public class OutFileDao
 {
         public OutFileDao()
         {
                 //
                 //TODO: 在此处添加构造函数逻辑
                 //
         }
 
         /// <summary>
         /// 测试程序
         /// </summary>
         public static void testOut()
         {
 
                 DataTable dt = new DataTable();
                 dt.Columns.Add("name");
                 dt.Columns.Add("sex");
                 DataRow dr = dt.NewRow();
                 dr["name"] = "名称1";
                 dr["sex"] = "性别1";
                 dt.Rows.Add(dr);
 
                 DataRow dr1 = dt.NewRow();
                 dr1["name"] = "名称2";
                 dr1["sex"] = "性别2";
                 dt.Rows.Add(dr1);
 
                 OutFileToDisk(dt, "测试标题", @"d:\测试.xls");
         }
 
         /// <summary>
         /// 导出数据到本地
         /// </summary>
         /// <param name="dt">要导出的数据</param>
         /// <param name="tableName">表格标题</param>
         /// <param name="path">保存路径</param>
         public static void OutFileToDisk(DataTable dt,string tableName,string path)
         {
 
 
                 Workbook workbook = new Workbook(); //工作簿
                 Worksheet sheet = workbook.Worksheets[0]; //工作表
                 Cells cells = sheet.Cells;//单元格
 
                 //为标题设置样式    
                 Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式
                 styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 styleTitle.Font.Name = "宋体";//文字字体
                 styleTitle.Font.Size = 18;//文字大小
                 styleTitle.Font.IsBold = true;//粗体
 
                 //样式2
                 Style style2 = workbook.Styles[workbook.Styles.Add()];//新增样式
                 style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 style2.Font.Name = "宋体";//文字字体
                 style2.Font.Size = 14;//文字大小
                 style2.Font.IsBold = true;//粗体
                 style2.IsTextWrapped = true;//单元格内容自动换行
                 style2.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 
                 //样式3
                 Style style3 = workbook.Styles[workbook.Styles.Add()];//新增样式
                 style3.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 style3.Font.Name = "宋体";//文字字体
                 style3.Font.Size = 12;//文字大小
                 style3.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 
                 int Colnum = dt.Columns.Count;//表格列数
                 int Rownum=dt.Rows.Count;//表格行数
 
                 //生成行1 标题行   
                 cells.Merge(0, 0, 1, Colnum);//合并单元格
                 cells[0, 0].PutValue(tableName);//填写内容
                 cells[0, 0].SetStyle(styleTitle);
                 cells.SetRowHeight(0, 38);
 
                 //生成行2 列名行
                 for (int i = 0; i < Colnum; i++)
                 {
                         cells[1, i].PutValue(dt.Columns[i].ColumnName);
                         cells[1, i].SetStyle(style2);
                         cells.SetRowHeight(1, 25);
                 }
 
                 //生成数据行
                 for (int i = 0; i < Rownum; i++)
                 {
                         for (int k = 0; k < Colnum; k++)
                         {
                                 cells[2 + i, k].PutValue(dt.Rows[i][k].ToString());
                                 cells[2 + i, k].SetStyle(style3);
                         }
                         cells.SetRowHeight(2+i, 24);
                 }
                  
                 workbook.Save(path);
         }
 
 
         public MemoryStream OutFileToStream(DataTable dt, string tableName)
         {
                 Workbook workbook = new Workbook(); //工作簿
                 Worksheet sheet = workbook.Worksheets[0]; //工作表
                 Cells cells = sheet.Cells;//单元格
 
                 //为标题设置样式    
                 Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式
                 styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 styleTitle.Font.Name = "宋体";//文字字体
                 styleTitle.Font.Size = 18;//文字大小
                 styleTitle.Font.IsBold = true;//粗体
 
                 //样式2
                 Style style2 = workbook.Styles[workbook.Styles.Add()];//新增样式
                 style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 style2.Font.Name = "宋体";//文字字体
                 style2.Font.Size = 14;//文字大小
                 style2.Font.IsBold = true;//粗体
                 style2.IsTextWrapped = true;//单元格内容自动换行
                 style2.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                 style2.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 
                 //样式3
                 Style style3 = workbook.Styles[workbook.Styles.Add()];//新增样式
                 style3.HorizontalAlignment = TextAlignmentType.Center;//文字居中
                 style3.Font.Name = "宋体";//文字字体
                 style3.Font.Size = 12;//文字大小
                 style3.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
                 style3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 
                 int Colnum = dt.Columns.Count;//表格列数
                 int Rownum = dt.Rows.Count;//表格行数
 
                 //生成行1 标题行   
                 cells.Merge(0, 0, 1, Colnum);//合并单元格
                 cells[0, 0].PutValue(tableName);//填写内容
                 cells[0, 0].SetStyle(styleTitle);
                 cells.SetRowHeight(0, 38);
 
                 //生成行2 列名行
                 for (int i = 0; i < Colnum; i++)
                 {
                         cells[1, i].PutValue(dt.Columns[i].ColumnName);
                         cells[1, i].SetStyle(style2);
                         cells.SetRowHeight(1, 25);
                 }
 
                 //生成数据行
                 for (int i = 0; i < Rownum; i++)
                 {
                         for (int k = 0; k < Colnum; k++)
                         {
                                 cells[2 + i, k].PutValue(dt.Rows[i][k].ToString());
                                 cells[2 + i, k].SetStyle(style3);
                         }
                         cells.SetRowHeight(2 + i, 24);
                 }
 
                 MemoryStream ms = workbook.SaveToStream();
                 return ms;
         }
 
 }

使用Aspose.Cells生成Excel的方法详解(转)的更多相关文章

  1. EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类

    大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls ...

  2. 使用Aspose.Cells生成Excel的线型图表

    目的: 1.根据模板里面的excel数据信息,动态创建line chart 2.linechart 的样式改为灰色 3.以流的形式写到客户端,不管客户端是否装excel,都可以导出到到客户端 4.使用 ...

  3. 使用Aspose.Cells读取Excel

      最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...

  4. 报表中的Excel操作之Aspose.Cells(Excel模板)

    原文:报表中的Excel操作之Aspose.Cells(Excel模板) 本篇中将简单记录下Aspose.Cells这个强大的Excel操作组件.这个组件的强大之处,就不多说,对于我们的报表总是会有导 ...

  5. Aspose.Cells导出Excel(1)

    利用Aspose.Cells导出excel 注意的问题 1.DataTable的处理 2.进行编码,便于中文名文件下载 3.别忘了Aspose.Cells.dll(可以自己在网上搜索) public ...

  6. 怎么使用Aspose.Cells读取excel 转化为Datatable

    说明:vs2012 asp.net mvc4 c# 使用Aspose.Cells 读取Excel 转化为Datatable 1.HTML前端代码 <%@ Page Language=" ...

  7. 怎么利用Aspose.Cells 获取excel 数据表中sheet的名称

    说明:开发环境 vs2012 asp.net mvc4 c# 利用Aspose.Cells 获取Excel数据表的sheet的名称,并把获取的名称赋值给easyUI 的combobox 1.运行效果 ...

  8. Aspose.cells 读取Excel表中的图片问题

    一.说明 本文主要是讲解,怎么使用aspose.cells读取Excel表中的图片,并把图片转换成流或是image对象. 二.开发环境说明 开发工具vs2012,c#语言, 三.Aspose.cell ...

  9. C++调用JAVA方法详解

    C++调用JAVA方法详解          博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...

随机推荐

  1. (转,有改动)测试网页响应时间的shell脚本[需要curl支持]

    用法及返回结果如下: [root@myserver01 tmp]# sh test_web.sh -n500 http://www.baidu.com Request url: http://www. ...

  2. android Eclipse执行项目提示错误: unable to execute dex: GC orerhead limit exceeded

    Eclipse执行项目提示错误: unable to execute dex: GC orerhead limit exceeded 解决方法: 找到Eclipse安装目录的文件,\eclipse\e ...

  3. 启动mysql错误ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ ( ...

  4. Qt model和tableview的使用

    QT中的model和tableview都是采用index索引   index含有两个成员变量一个是row   一个是column  对应该索引的行号.列号 model提供数据    view提供视图  ...

  5. HDU 4866 Shooting(持久化线段树)

    view code//第二道持久化线段树,照着别人的代码慢慢敲,还是有点不理解 #include <iostream> #include <cstdio> #include & ...

  6. plsql+绿色版oracle连接远程数据库配置及提示缺少msvcr71.dll解决方法

    之前一直用的sqldeveloper连接oracle数据库,这个免费而且也是官方出品,除了体积略大启动略慢外,也没什么不好的.. 一次偶然机会决定试一下plsql,整理一下安装资料,需要本地oracl ...

  7. JAVA bio nio aio

    [转自]http://qindongliang.iteye.com/blog/2018539 在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解.具体如下: 序号 问题 1 什么是同步? ...

  8. python笔记-调用eval函数出现invalid syntax错误

    本来是想打算使用eval函数对变量进行赋值的,没想到出现了invalid syntax错误.源代码如下 In [2]: eval('a = 1') File "<string>& ...

  9. 第14章 位图和位块传输_14.4 GDI位图对象(1)

    14.4.1 创建DDB (1)创建 HBITMAP= CreateBitmap(cx,cy,cPlanes,cBitsPixel,lpBits); 参数 说明 cx,cy 指定位图宽度和高度,单位为 ...

  10. 云计算之路-阿里云上:RDS用户的烦恼

    http://www.cnblogs.com/cmt/p/3586029.html *博主注:阿里云数据库真的这么可笑?