• aspose.cells导出Demo


            /// <summary>
            /// 导出excel
            /// </summary>
            /// <param name="list"></param>
            private void ExportExcel(IList<CV_SaaS_POM_ProductionOrder> list)
            {
                try
                {
                    SaveFileDialog Dialog = new SaveFileDialog();
                    Dialog.Filter = "Excel文件(*.xlsx)|*.xlsx|Excel文件(*.xls)|*.xls";
                    Dialog.FileName = "SAP生产工单_" + DateTime.Now.ToString("MMdd") + ".xlsx";
                    if (Dialog.ShowDialog() == DialogResult.OK)
                    {
                        Workbook workbook = new Workbook(); //工作簿 
                        Worksheet sheet = workbook.Worksheets[0]; //工作表 
                        Cells cells = sheet.Cells;//单元格 
    
                        #region 文字样式
                        Style style = new Style();
                        style.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                        style.VerticalAlignment = TextAlignmentType.Center;
                        style.Font.Name = "宋体";//文字字体 
                        style.Font.Size = 13;
    
                        //
                        Style style1 = new Style();
                        style1.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                        style1.VerticalAlignment = TextAlignmentType.Center;
                        style1.Font.Name = "宋体";//文字字体 
                        style1.Font.Size = 13;
                        style1.Custom = "MM/dd";
                        //
                        Style style2 = new Style();
                        style2.HorizontalAlignment = TextAlignmentType.Center;//文字居中 
                        style2.VerticalAlignment = TextAlignmentType.Center;
                        style2.Font.Name = "宋体";//文字字体 
                        style2.Font.Size = 13;
                        style2.Custom = "yyyy/mm/dd";
                        #endregion
                        //生成行2 列名行 
                        cells[0, 0].PutValue("SAP工单号");
                        cells[0, 0].SetStyle(style);
                        cells[0, 1].PutValue("物料编码");
                        cells[0, 1].SetStyle(style);
                        cells[0, 2].PutValue("物料描述");
                        cells[0, 2].SetStyle(style);
                        cells[0, 3].PutValue("BOM版本");
                        cells[0, 3].SetStyle(style);
                        cells[0, 4].PutValue("工单组件");
                        cells[0, 4].SetStyle(style);
                        cells[0, 5].PutValue("工单类型");
                        cells[0, 5].SetStyle(style);
                        cells[0, 6].PutValue("工艺路径");
                        cells[0, 6].SetStyle(style);
                        cells[0, 7].PutValue("工单数量");
                        cells[0, 7].SetStyle(style);
                        cells[0, 8].PutValue("计划开始时间");
                        cells[0, 8].SetStyle(style);
                        cells[0, 9].PutValue("计划完成时间(交期)");
                        cells[0, 9].SetStyle(style);
                        //根据当前日期生成一年的日期列
                        int cellIndex = 9;
    
                        DateTime today = Convert.ToDateTime(DateTime.Now.ToString(@"yyyy-MM-dd"));
                        DateTime endday = today.AddMonths(2);
                        for (; today < endday; today = today.AddDays(1))
                        {
                            cellIndex++;
                            cells[0, cellIndex].PutValue(today);
                            cells[0, cellIndex].SetStyle(style1);//定义后续两个月日期的格式
                        }
                        //设置下拉列表框格式
                        ValidationCollection validations = sheet.Validations;
                        Validation validation = validations[validations.Add()];
                        validation.Type = Aspose.Cells.ValidationType.List;
                        validation.Operator = OperatorType.None;
                        validation.InCellDropDown = true;
                        validation.Formula1 = GetOrderFamilyName();//逗号分隔字符串
                        validation.ShowError = true;
                        validation.AlertStyle = ValidationAlertType.Stop;
                        validation.ErrorTitle = "Error";
                        validation.ErrorMessage = "请选择工单组件";
                        CellArea area;
                        area.StartRow = 1;
                        area.EndRow = 9999;
                        area.StartColumn = 4;
                        area.EndColumn = 4;
                        validation.AreaList.Add(area);
                        //写入工单数据
                        CV_SaaS_POM_ProductionOrder order = null;
                        for (int i = 0; i < list.Count; i++)
                        {
                            order = list[i];
                            cells[i + 1, 0].PutValue(order.ProductionOrderNO);
                            cells[i + 1, 0].SetStyle(style);
                            cells[i + 1, 1].PutValue(order.DefID);
                            cells[i + 1, 1].SetStyle(style);
                            cells[i + 1, 2].PutValue(order.DefName);
                            cells[i + 1, 2].SetStyle(style);
                            cells[i + 1, 3].PutValue("");
                            cells[i + 1, 3].SetStyle(style);
                            cells[i + 1, 4].PutValue(order.OrderGroup);
                            cells[i + 1, 4].SetStyle(style);
                            cells[i + 1, 5].PutValue(order.OderType);
                            cells[i + 1, 5].SetStyle(style);
                            cells[i + 1, 6].PutValue(order.PPRCode);
                            cells[i + 1, 6].SetStyle(style);
                            cells[i + 1, 7].PutValue(order.Quantity - order.AssignedQuantity);
                            cells[i + 1, 7].SetStyle(style);
                            cells[i + 1, 8].PutValue(order.StartTime);
                            cells[i + 1, 8].SetStyle(style2);
                            cells[i + 1, 9].PutValue(order.EndTime);
                            cells[i + 1, 9].SetStyle(style2);
                        }
    
                        int columnCount = cells.MaxColumn;  //获取表页的最大列数
                        int rowCount = cells.MaxRow;        //获取表页的最大行数
                        for (int col = 0; col < columnCount; col++)
                        {
                            sheet.AutoFitColumn(col, 0, rowCount);
                        }
                        for (int col = 0; col < columnCount; col++)
                        {
                            cells.SetColumnWidthPixel(col, cells.GetColumnWidthPixel(col) + 30);
                        }
    
                        workbook.Save(Dialog.FileName);
                        MessageBox.Show("导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception exception)
                {
                    SaMessageBox.ShowError(exception);
                }
    
            }
  • 相关阅读:
    函数式接口
    方法引用
    接口组成更新
    .Net Framework4.5中Asp.net mvc使用Singal R轮训实现导入进度条功能
    .net mvc使用FlexPaper插件实现在线预览PDF,EXCEL,WORD的方法
    可编辑树Ztree的使用(包括对后台数据库的增删改查)
    使用chosen插件实现多级联动和置位
    在ASP.NET MVC中使用区域来方便管理controller和view
    使用datepicker日期插件
    Linq to sql中使用DateDiff()
  • 原文地址:https://www.cnblogs.com/yueyan/p/11888760.html
Copyright © 2020-2023  润新知