//转为pdf
        private void CelltoPDF(string cellPath, string pdfPath)
        {
            Workbook book = new Workbook();
            book.Open(cellPath);
            book.Save(pdfPath, FileFormatType.Pdf);
        } 
//导入

     private DataTable ReadExcel(string fielPathName)
        {
            Workbook book = new Workbook();
            book.Open(fielPathName);
            Worksheet sheet = book.Worksheets[0];
            Cells cells = sheet.Cells;
            //第一行标题不导入
            //cells.ExportDataTable(,);

、、

使用  ExportDataTableAsString  转换成的table标题是string类型,支持和 datatable。select的使用
            DataTable dtresult = cells.ExportDataTable(1, 0, cells.MaxDataRow , cells.MaxDataColumn + 1, false);
            //true会把第一行作为标题,false则 c1,--cn作为标题
            dtresult.Columns["Column1"].ColumnName = "Name";
            dtresult.Columns["Column2"].ColumnName = "Age";
            dtresult.Columns["Column3"].ColumnName = "Gender";
            dtresult.Columns["Column4"].ColumnName = "Salary";
            dtresult.Columns["Column5"].ColumnName = "BirthDay";
 
            int r = dtresult.Rows.Count;
            return dtresult;
 
        }

//导出

    MemoryStream stream = OutFileToStream(ModelDB.dbDT);
            byte[] bytes = stream.ToArray();//StreamToBytes(stream);
            Response.ContentType = "application/octet-stream";
            //通知浏览器下载文件而不是打开 
            Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("23.xls", System.Text.Encoding.UTF8));
            Response.BinaryWrite(bytes);
            Response.Flush();
            Response.End();
 private MemoryStream OutFileToStream(DataTable dt)
        {
            Workbook workbook = new Workbook(); //工作簿 
            Worksheet sheet = workbook.Worksheets[0]; //工作表 
            Cells cells = sheet.Cells;//单元格 
 
 
 
 
            //为标题设置样式     
            Aspose.Cells.Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式[标题] 
            styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
            styleTitle.Font.Name = "宋体";//文字字体 
            styleTitle.Font.Size = 12;//文字大小 
            styleTitle.Font.IsBold = true;//粗体 
            styleTitle.ForegroundColor = System.Drawing.Color.FromArgb(153, 204, 0);
            styleTitle.Pattern = BackgroundType.Solid;//设置背景颜色
 
 
            //普通字符串样式 
            Aspose.Cells.Style strStyle = workbook.Styles[workbook.Styles.Add()];//新增样式 
            strStyle.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
            strStyle.Font.Name = "宋体";//文字字体 
            strStyle.Font.Size = 9;//文字大小 
            strStyle.Font.IsBold = true;//粗体 
            strStyle.IsTextWrapped = true;//单元格内容自动换行 
 
            //金钱样式,
            Aspose.Cells.Style moneyStyle = workbook.Styles[workbook.Styles.Add()];//新增样式金钱 
            moneyStyle.Number = 4;//千分位方式展示金钱
 
            //日期样式
            Aspose.Cells.Style dateStyle = workbook.Styles[workbook.Styles.Add()];
            dateStyle.Custom = "yyyy-MM-dd";
 
            int Colnum = dt.Columns.Count;//表格列数 
            int Rownum = dt.Rows.Count;//表格行数 
 
 
 
            //列名行 
            //数据库存标题一般是英文,excel一般是汉字。所以标题一般添加
            cells[0, 0].PutValue("姓名_"); cells[0, 0].SetStyle(styleTitle);
            cells[0, 1].PutValue("年龄_"); cells[0, 1].SetStyle(styleTitle);
            cells[0, 2].PutValue("性别_"); cells[0, 2].SetStyle(styleTitle);
            cells[0, 3].PutValue("工资_"); cells[0, 3].SetStyle(styleTitle);
            cells[0, 4].PutValue("出生日期_"); cells[0, 4].SetStyle(styleTitle);
            cells.SetRowHeight(0, 35);
 
            int[] moneyCol = { 3 };//需要千分位的列缩影
            int[] dateCol = { 4 };//需要日期个格式的列索引
            //生成列
            for (int i = 0; i < Rownum; i++)
            {
 
 
                for (int k = 0; k < Colnum; k++)
                {
                    if (dt.Rows[i][k] != null)
                    {
                        if (moneyCol.Contains(k))
                        {
                            cells[i + 1, k].PutValue(Convert.ToDecimal(dt.Rows[i][k].ToString()));
                            cells[i + 1, k].SetStyle(moneyStyle);
                        }
                        else if (dateCol.Contains(k))
                        {
                            cells[i + 1, k].PutValue(Convert.ToDateTime(dt.Rows[i][k].ToString()));
                            cells[i + 1, k].SetStyle(dateStyle);
                        }
                        else
                        {
                            cells[i + 1, k].PutValue(dt.Rows[i][k].ToString(), true);
                            cells[i + 1, k].SetStyle(strStyle);
                        }
                    }
 
 
                }
                cells.SetRowHeight(1 + i, 24);
            }
 
 
            MemoryStream ms = workbook.SaveToStream();
            return ms;
        }

/// <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;//单元格 
 
            //为标题设置样式     
            Aspose.Cells.Style  styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式 
            styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
            styleTitle.Font.Name = "宋体";//文字字体 
            styleTitle.Font.Size = 18;//文字大小 
            styleTitle.Font.IsBold = true;//粗体 
 
            //样式2 
            Aspose.Cells.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 
            Aspose.Cells.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);
        }
 

Aspose 导出excel小demo的更多相关文章

  1. jxl导出excel小demo

    1.首先在pom文件加入jar包 <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <art ...

  2. ASPose导出excel简单操作

    string file = FileDialogHelper.SaveExcel(string.Format("{0}.xls", excelName)); if (!string ...

  3. java 通过Apache poi导出excel代码demo实例

    package com.zuidaima.excel.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutput ...

  4. aspose导出excel文件

    using Aspose.Cells; using System; using System.Collections.Generic; using System.Data; using System. ...

  5. webapi aspose导出excel表格

    API 通过get请求,注意用到一个[FromUri]特性,使GET接收实体参数 /// <summary> /// 导出 /// </summary> /// <par ...

  6. 【vue开发】vue导出Excel表格教程&demo

    前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来:再比如前端在没有数据库想写些demo玩时,也是很好的选择. 第一步安装依赖包,修改配置 1.装依赖: ...

  7. 使用Aspose.Cell.dll导出Excel总结

    这两天项目上用Aspose导出Excel来着.开始感觉挺简单的,但是实际操作起来还是挺复杂的,调试占的时间很长.主要是动态生成列.合并单元格.调样式占了很长时间,还是总结一下吧. 基础操作: //EX ...

  8. springMVC框架+POI组件导出Excel

    目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...

  9. NPOI、MyXls、Aspose.Cells 导入导出Excel(转)

    Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导s出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你 ...

随机推荐

  1. 跟我学习dubbo-使用Maven构建Dubbo服务的可执行jar包(4)

    Dubbo服务的运行方式: 1.使用Servlet容器运行(Tomcat.Jetty等)----不可取 缺点:增加复杂性(端口.管理) 浪费资源(内存) 官方:服务容器是一个standalone的启动 ...

  2. SlickOne -- 基于Dapper, Mvc和WebAPI 的快速开发框架

    前言:在两年前,项目组推出了基于Dapper,Mvc和WebApi的快速开发框架,随着后续Slickflow产品的实践和应用,今再次对SlickOne项目做以回顾和总结.其目的是精简,持续改进,保持重 ...

  3. JS 操作JSON字符串

    用Js的eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eva ...

  4. 人情世故&潜规则

    大凡成功的牛人,无一例外都明白这一点.他们读懂了社会的本质和人际交往的潜规则,知道对方需要什么,知道对方脑子里在想什么.你几乎看不见他奔波劳碌,但是在不动声色中,他就已经实现人生目标.他们成功的密码是 ...

  5. [老老实实学WCF] 第五篇 再探通信--ClientBase

    老老实实学WCF 第五篇 再探通信--ClientBase 在上一篇中,我们抛开了服务引用和元数据交换,在客户端中手动添加了元数据代码,并利用通道工厂ChannelFactory<>类创 ...

  6. 20150511---Timer计时器(备忘)

    private void timer1_Tick(object sender, EventArgs e) { TimeSpan ts = , , ); string str = ts.Hours + ...

  7. php连接到数据库操作

    <?php $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { ?> 要写的内容代码,比如说Ht ...

  8. Integer类的装箱和拆箱到底是怎样实现的?

    先解释一下装箱和拆箱: 装箱就是  自动将基本数据类型转换为包装器类型:拆箱就是  自动将包装器类型转换为基本数据类型. 下表是基本数据类型对应的包装器类型: int(4字节) Integer byt ...

  9. POJ 2533

    最长上升子序列裸题在网上看到有两种方法...一种复杂度O(N^2),一种O(NlogN).orz O(N^2): #include<cstdio> #define N 1001 int m ...

  10. python——异常处理

    python处理异常的格式一般如下: try: A部分 Except  .... [as ..]: B部分 [ finally: C部分 Else: D部分 ] ps: 1.不管有没有异常,final ...