使用 Aspose.Cells导出多个Sheet的Excel


  1 public static void MydataTest()
  2         {
  3             //打开保存的位置
  4             FolderBrowserDialog BrowDialog = new FolderBrowserDialog();
  5             BrowDialog.ShowNewFolderButton = true;
  6             BrowDialog.Description = "请选择Excel保存位置";
  7             if (BrowDialog.ShowDialog() == DialogResult.OK)
  8             {
  9 
 10                 try
 11                 {
 12                     string MYpath = BrowDialog.SelectedPath;
 13                     Workbook workbook = new Workbook();
 14                     //清除页先 要不然 新建就有一个sheet
 15                     workbook.Worksheets.Clear();
 16                     #region   样式 
 17                     //为标题设置样式    
 18                     Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式
 19                     styleTitle.HorizontalAlignment = TextAlignmentType.Center;//文字居中
 20                     styleTitle.Font.Name = "宋体";//文字字体
 21                     styleTitle.Font.Size = 18;//文字大小
 22                     styleTitle.Font.IsBold = true;//粗体 
 23                     //样式2
 24                     Style style2 = workbook.Styles[workbook.Styles.Add()];//新增样式
 25                     style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中
 26                     style2.Font.Name = "宋体";
 27                     style2.Font.Size = 14;
 28                     style2.Font.IsBold = true;
 29                     style2.IsTextWrapped = true;//单元格内容自动换行
 30                     style2.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
 31                     style2.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
 32                     style2.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
 33                     style2.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 34 
 35                     //样式3
 36                     Style style3 = workbook.Styles[workbook.Styles.Add()];
 37                     style3.HorizontalAlignment = TextAlignmentType.Center;
 38 
 39                     style3.Font.Name = "宋体";
 40                     style3.Font.Size = 12;
 41                     style3.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;
 42                     style3.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;
 43                     style3.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;
 44                     style3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;
 45 
 46                     #endregion
 47                     //中文列名
 48                     DataTable tblDatas = new DataTable();
 49                     tblDatas.Columns.Add("Name", Type.GetType("System.String"));  
 50                     tblDatas.Rows.Add(new object[] { "购买日期" });
 51                     tblDatas.Rows.Add(new object[] { "质保时间" });
 52                     tblDatas.Rows.Add(new object[] { "报废日期" });
 53                     tblDatas.Rows.Add(new object[] { "厂家" });
 54                     tblDatas.Rows.Add(new object[] { "厂家联系人" });
 55                     tblDatas.Rows.Add(new object[] { "厂家联系电话" });
 56                     tblDatas.Rows.Add(new object[] { "备注" });
 57                     //保存的路径
 58                     string path = System.IO.Path.Combine(MYpath, "资产报表" + DateTime.Now.ToString("yyyy-MM-dd").Trim() + ".xls");
 59 //我的数据 就是Sheet名字
 60                   DataTable AssetModelName ="你的Sheet名字";
 61 
 62                     for (int i = 0; i < AssetModelName.Rows.Count; i++)
 63                     {
 64                         workbook.Worksheets.Add("" + (i + 1).ToString() + "-" + AssetModelName.Rows[i]["AssetModelName"].ToString().Trim());
 65                     }
 66                     for (int j = 0; j < AssetModelName.Rows.Count; j++)
 67                     {
 68                         DataTable dt = //使用DataTable对象  去查询你表格的数据
 69                         Worksheet sheet0 = workbook.Worksheets[j];
 70                         Cells cells = sheet0.Cells;//单元格
 71                         if (dt != null)
 72                         {
 73                             int Colnum = dt.Columns.Count;//表格列数
 74                             int Rownum = dt.Rows.Count;//表格行数  
 75                             cells.Merge(0, 0, 1, Colnum);//合并单元格//生成行1 标题行 
 76                             cells[0, 0].PutValue(AssetModelName.Rows[j]["AssetModelName"].ToString().Trim());//填写内容
 77                             cells[0, 0].SetStyle(styleTitle);
 78                             cells.SetRowHeight(0, 38);
 79 
 80  //生成行2 列名行   
 81                             for (int i = 0; i < Colnum; i++)
 82                             {
 83                                 cells[1, i].PutValue(tblDatas.Rows[i]["Name"]);
 84                                 cells[1, i].SetStyle(style2);
 85                             }
 86                             cells.SetRowHeight(1, 30);//设置第一行行高
 87 
 88                             //设置列宽
 89                             cells.SetColumnWidth(0, 22);  
 90                             cells.SetColumnWidth(14, 22); 
 91                             //生成数据行
 92                             for (int i = 0; i < Rownum; i++)
 93                             {
 94                                 for (int k = 0; k < Colnum; k++)
 95                                 {
 96                                     cells[2 + i, k].PutValue(dt.Rows[i][k].ToString());
 97                                     cells[2 + i, k].SetStyle(style3);
 98                                 }
 99                                 cells.SetRowHeight(2 + i, 17);
100                             }
101                         }
102                     }
103                     workbook.Save(path);
104                     Process.Start(path);
105                 }
106                 catch (Exception ex)
107                 {
108                     MessageBox.Show(ex.ToString());
109                 }
110             } 
111         }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM