//转为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. UISearchDisplayController隐藏navigationBar需注意

    不能调用self.navigationController.navigationBar.hidden = YES: 调用此代码的话,你隐藏了navigationBar搜索展示控制器就拿不到导航条:就会 ...

  2. asp.net MVC EF Where 过滤条件怎么写

    做.Net开发的肯定都知道.Net Sql语句有个SqlParameter 一般用来做过滤判断逻辑写,那么到了EF 了还有这样的写法嘛?答案肯定是有的了,这里我只是把最粗糙和简单的写法罗列一些,具体封 ...

  3. Fuck Sharepoint 2013

    最近遇到一个貌似是bug的问题,每次点击页面的时候页面的地址多出一行/_layouts/15/start.aspx#/ 然后跑到google上搜索出解决方案, 地址:http://social.tec ...

  4. SQL的内连接与外连接

    转自:http://blog.csdn.net/killerggf/article/details/6216102 有两个表A和表B.  表A结构如下:  Aid:int:标识种子,主键,自增ID   ...

  5. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  6. c#的DateTime.Now函数详解

    //2008年4月24日System.DateTime.Now.ToString("D");//2008-4-24System.DateTime.Now.ToString(&quo ...

  7. web HTML5 调用摄像头的代码

    最近公司要求做一个在线拍照的功能,具体代码如下: <html> <head> <title>html5调用摄像头拍照</title> <style ...

  8. asp.net 客户邮件群发功能 SendMail 发送静态化html

    背景:现在几乎每个企业都要用到邮箱,而在大客户量情况下,为我们的不同等级的客户送上节日关怀,以及把我们的喜讯.新品通知到他们是我们急需解决的问题.效果如图 思路: 1.静态化网页模版,首先考虑需要发送 ...

  9. UI2_UICollectionViewPicture

    // AppDelegate.m // UI2_UICollectionViewPicture // // Created by zhangxueming on 15/7/16. // Copyrig ...

  10. 10款web前端基于html5/CSS3应用特效

    1.jQuery百叶窗效果焦点图 多种百叶窗动画方式 对于百叶窗动画效果,我们介绍的不是很多,目前就介绍过一款CSS3百叶窗图片切换.这次要给大家带来一个基于jQuery的多种百叶窗动画效果焦点图,焦 ...