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

版权声明:欢迎转载,转载请标明原文作者和链接。 如对您有帮助,不胜荣幸,同时也求高人指点 https://blog.csdn.net/a770kfof/article/details/52778479
  在我博客  资源里面可以免费下载绿色版的Aspose.cells  插件  破解的 



 public static void MydataTest()
        {
            //打开保存的位置
            FolderBrowserDialog BrowDialog = new FolderBrowserDialog();
            BrowDialog.ShowNewFolderButton = true;
            BrowDialog.Description = "请选择Excel保存位置";
            if (BrowDialog.ShowDialog() == DialogResult.OK)
            {

                try
                {
                    string MYpath = BrowDialog.SelectedPath;
                    Workbook workbook = new Workbook();
                    //清除页先 要不然 新建就有一个sheet
                    workbook.Worksheets.Clear();
                    #region   样式 
                    //为标题设置样式    
                    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;

                    #endregion
                    //中文列名
                    DataTable tblDatas = new DataTable();
                    tblDatas.Columns.Add("Name", Type.GetType("System.String"));  
                    tblDatas.Rows.Add(new object[] { "购买日期" });
                    tblDatas.Rows.Add(new object[] { "质保时间" });
                    tblDatas.Rows.Add(new object[] { "报废日期" });
                    tblDatas.Rows.Add(new object[] { "厂家" });
                    tblDatas.Rows.Add(new object[] { "厂家联系人" });
                    tblDatas.Rows.Add(new object[] { "厂家联系电话" });
                    tblDatas.Rows.Add(new object[] { "备注" });
                    //保存的路径
                    string path = System.IO.Path.Combine(MYpath, "资产报表" + DateTime.Now.ToString("yyyy-MM-dd").Trim() + ".xls");
                   //我的数据 就是Sheet名字
                  DataTable AssetModelName ="你的Sheet名字";
                     //生成sheet的名字
                    for (int i = 0; i < AssetModelName.Rows.Count; i++)
                    {
                        workbook.Worksheets.Add("页" + (i + 1).ToString() + "-" + AssetModelName.Rows[i]["AssetModelName"].ToString().Trim());
                    }
                     //有多少sheet  就遍历多少次
                   for (int j = 0; j < AssetModelName.Rows.Count; j++)
                    {
                      //dt 就是你每个sheet的数据
                      DataTable dt = //使用DataTable对象  去查询你表格的数据
                        Worksheet sheet0 = workbook.Worksheets[j];
                        Cells cells = sheet0.Cells;//单元格
                        if (dt != null)
                        {
                            int Colnum = dt.Columns.Count;//表格列数
                            int Rownum = dt.Rows.Count;//表格行数  
                            cells.Merge(0, 0, 1, Colnum);//合并单元格//生成行1 标题行 
                            cells[0, 0].PutValue(AssetModelName.Rows[j]["AssetModelName"].ToString().Trim());//填写内容
                            cells[0, 0].SetStyle(styleTitle);
                            cells.SetRowHeight(0, 38);

                           //生成行2 列名行   就是
                            for (int i = 0; i < Colnum; i++)
                            {
                                cells[1, i].PutValue(tblDatas.Rows[i]["Name"]);
                                cells[1, i].SetStyle(style2);
                            }
                            cells.SetRowHeight(1, 30);//设置第一行行高

                            //设置列宽
                            cells.SetColumnWidth(0, 22);  
                            cells.SetColumnWidth(14, 22); 
                            //生成数据行
                            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, 17);
                            }
                        }
                    }
                    workbook.Save(path);
                    Process.Start(path);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            } 
        }




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

在我博客  资源里面可以免费下载绿色版的Aspose.cells  插件  破解的

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

在我博客  资源里面可以免费下载绿色版的Aspose.cells  插件  破解的

没有更多推荐了,返回首页