//转为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. 关于HTML中浮动与清除的思考

    布局时需要利用浮动(float)的属性,同时我们需要一个清除浮动(clear)与之配合才能达到预期的目标. w3s上关于float和clear的定义分别为:float:float 属性定义元素在哪个方 ...

  2. The future of programming languages

    In this video from JAOO Aarhus 2008 Anders Hejlsberg takes a look at the future of programming langu ...

  3. ORACLE的分组统计之CUBE(二)

    cube统计包含了rollup的统计结果,而且还有其他组合分组结果(小计),CUBE(n列),那么分组种类有: cube分组就是先进行合计(一个不取),然后小计(到),最后取标准分组. 与rollup ...

  4. HTML5桌面通知(Web Notifications)实例解析

    先上一段代码,ie不支持,Chrome.fireFox.Opera支持 <!DOCTYPE html> <html> <head> <meta http-eq ...

  5. 实例介绍Cocos2d-x精灵菜单和图片菜单

    精灵菜单类是MenuItemSprite,图片菜单类是MenuItemImage.由于MenuItemImage继承于MenuItemSprite,所以图片菜单也属于精灵菜单.为什么叫精灵菜单呢?那是 ...

  6. ios开发:Core Data概述

    Core Data 概述 2005年的四月份,Apple 发布了 OS X 10.4,在这个版本中 Core Data 框架发布了.Core Data本身既不是数据库也不是数据库访问框架.相反,Cor ...

  7. 【学习笔记】【C语言】循环结构-do while

    用法: while (条件) {     } do {   } while(条件);   while和do-while的区别 1.很多情况下,while和do while可以互换   2.while特 ...

  8. javascript数据结构——写一个二叉搜索树

    二叉搜索树就是左侧子节点值比根节点值小,右侧子节点值比根节点值大的二叉树. 照着书敲了一遍. function BinarySearchTree(){ var Node = function(key) ...

  9. 进程通信---FIFO

    管道没有名字,所以只能在具有血缘关系的进程间使用,而在无名管道发展出来的有名管道FIFO,则有路径名与之相关联,以一种特殊设备文件形式存在于文件系统中,从而允许无亲缘关系的进程访问FIFO,下面看FI ...

  10. 了解GDAL的图像处理/Python

    GDAL是一个操作各种栅格地理数据格式的库.包括读取.写入.转换.处理各种栅格数据格式(有些特定的格式对一些操作如写入等不支持).它使用了一个单一的抽象数据模型就支持了大多数的栅格数据(GIS对栅格, ...