zoukankan      html  css  js  c++  java
  • 使用Aspose.Cells生成Excel的方法详解(转)

    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; 
             } 
      
     }

  • 相关阅读:
    电子产品使用感受之—我的iPad Pro坏了。。。
    我最近读了什么书?(随时更新)
    我了解到的新知识之--GDPR
    我了解到的新知识之—MPLS
    我了解到的新知识之—Apple Captive Portal 网页认证登陆公共Wifi
    电子产品使用感受之--无线充电器到底是不是鸡肋?
    大家春节好,过节了也不要忘记来听听我的播客节目哦!
    Python学习笔记之--我又开始学习Python了(随时更新)
    电子产品使用感受之--Mac Mini 买了之后有什么用?-- 开发啊!
    第一次个人编程作业
  • 原文地址:https://www.cnblogs.com/shiyh/p/7478231.html
Copyright © 2011-2022 走看看