• C#从入门到放弃--WPF导入导出


    一、导出

    1                  <Button
    2                             x:Name="btnExport"
    3                             IsEnabled="{Binding IsEnabled}"
    4                             Margin="{DynamicResource BtnMargin}"
    5                             controls:ButtonHelper.IconContent="{DynamicResource Icon_Export}"
    6                             Content="{DynamicResource Export}" Click="Export_ImageButton_Click" Height="36" VerticalAlignment="Bottom" />
    1、IndexPage.xmal
     #region 事件
            //导出
            public void Export_ImageButton_Click(object sender, RoutedEventArgs e)
            {
    
                try
                {
    
                    IWorkbook workbook = new HSSFWorkbook();
                    string filename = "条质量查询报表";
                    ISheet sheet = workbook.CreateSheet(filename);
    
    
                    #region 设置文件样式
                    ICellStyle style = workbook.CreateCellStyle();
                    //字体
                    IFont font = workbook.CreateFont();
                    font.FontHeightInPoints = 10;//字体
                    font.FontName = "微软雅黑";
                    font.IsBold = true;
    
                    //背景色
                    style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index;
                    style.FillPattern = FillPattern.SolidForeground;
                    style.FillBackgroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index;
                    style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
                    style.SetFont(font);
                    style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
                    style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
                    style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
                    style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
    
    
    
                    #endregion
    
                    #region 获取查询条件下所有数据源
                    ObservableCollection<StripQualityModel> models = new ObservableCollection<StripQualityModel>();
                    var FeedbackData = this.Framework.GetData(Services.GetStripQualityInfo, this.vm.AMOEBA, this.vm.LINE_CODE, this.vm.PROC_START_TIME.ToString(), this.vm.P                    ROC_END_TIME.ToString(),
                     this.vm.WORKGROUP_CODE, this.vm.QUALITY_CATEGORY_CODE, 0, 1000000); /// add params 
    
                    if (!FeedbackData.success)
                    {
                        MessageBox.Show(FeedbackData.message.content);
                        return;
                    }
    
                    if (FeedbackData.data != null)
                    {
                        models = JsonConvert.DeserializeObject<ObservableCollection<StripQualityModel>>(Convert.ToString(FeedbackData.data.data));
    
                    }
    
                    #endregion
    
                    #region  表格数据
                    List<String> listTitle = new List<String>();
                    listTitle.Add("序号");
                    listTitle.Add("排产日期");
                    listTitle.Add("巴号");
                    listTitle.Add("产线编码");
                    listTitle.Add("班组编码");
                    listTitle.Add("班组名称");
                    listTitle.Add("班次");
                    listTitle.Add("品质分类");
                    listTitle.Add("最大值");
                    listTitle.Add("最小值");
                    listTitle.Add("平均值");
                    listTitle.Add("检验次数");
                    listTitle.Add("标准值");
                    listTitle.Add("标准最大值");
                    listTitle.Add("标准最小值");
    
                    int iCurrentRowIndex =0;
                    IRow rowTitle = sheet.CreateRow(iCurrentRowIndex);
    
                    for (int i = 0; i < listTitle.Count; i++)
                    {
    
                        ICell cell = rowTitle.CreateCell(i);
                        cell.CellStyle = style;
                        cell.SetCellValue(listTitle[i]);
                        sheet.SetColumnWidth(i, (sheet.GetColumnWidth(i) + Convert.ToInt32(sheet.GetColumnWidth(i) * 0.5)));//设置单元格宽度
                    }
    
                    iCurrentRowIndex++;
                    if (models !=null)
                    {
                        foreach (var item in models)
                        {
                            IRow currentRow = sheet.CreateRow(iCurrentRowIndex);
                            currentRow.CreateCell(0).SetCellValue((iCurrentRowIndex).ToString());
                            currentRow.CreateCell(1).SetCellValue(item.SHIFT_DATE);
                            currentRow.CreateCell(2).SetCellValue(item.AMOEBA);
                            currentRow.CreateCell(3).SetCellValue(item.WORKCENTER_CODE);
                            currentRow.CreateCell(4).SetCellValue(item.WORKGROUP_CODE);
                            currentRow.CreateCell(5).SetCellValue(item.WORKGROUP_NAME);
                            currentRow.CreateCell(6).SetCellValue(item.SHIFT_CODE);
                            currentRow.CreateCell(7).SetCellValue(item.QUALITY_CATEGORY_CODE);
                            currentRow.CreateCell(8).SetCellValue(item.MAX_VALUE.ToString());
                            currentRow.CreateCell(9).SetCellValue(item.MIN_VALUE.ToString());
                            currentRow.CreateCell(10).SetCellValue(item.AVRGE_VALUE.ToString());
                            currentRow.CreateCell(11).SetCellValue(item.INSPECTION_TIME.ToString());
                            currentRow.CreateCell(12).SetCellValue(item.CARDINAL_NUMBER.ToString());
                            currentRow.CreateCell(13).SetCellValue(item.MAX_DEVIATION.ToString());
                            currentRow.CreateCell(14).SetCellValue(item.MIN_DEVIATION.ToString());
                            iCurrentRowIndex++;
                        }
                    }
                    #endregion
    
    
                    System.Windows.Forms.SaveFileDialog sfd = new System.Windows.Forms.SaveFileDialog();
    
                    sfd.FileName = filename + DateTime.Now.ToString("yyyyMMddhhmmss");
                    sfd.Filter = "Excel |*.xls";
                    //sfd.DefaultExt = "Excel (*.XLSX)";
                    sfd.Title = filename;
    
                    sfd.AddExtension = false;
    
                    var result = sfd.ShowDialog();
    
                    if (result != System.Windows.Forms.DialogResult.Cancel)
                    {
                        //新建文件流  
                        using (FileStream stream = new FileStream(sfd.FileName, FileMode.OpenOrCreate, FileAccess.Write))
                        {
                            int i = workbook.NumberOfSheets;
                            workbook.Write(stream);
                            stream.Flush();
    
                        }
    
                    }
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show(ex.Message);
                }
    
            }
    
            #endregion
    IndexpPage.xaml.cs

    二、导入

    IndexPage.xaml
     IndexPage.xaml.cs
  • 相关阅读:
    DB2 for Z/os Statement prepare
    Foreign key (referential) constraints on DB2 LUW v105
    复制Informational constraints on LUW DB2 v105
    DB2 SQL Mixed data in character strings
    DB2 create partitioned table
    MVC中使用EF的技巧集(一)
    Asp.Net MVC 开发技巧(二)
    Linq使用技巧及查询示例(一)
    Asp.Net MVC 开发技巧(一)
    Asp.Net MVC Identity 2.2.1 使用技巧(八)
  • 原文地址:https://www.cnblogs.com/xuhp/p/9795514.html
Copyright © 2020-2023  润新知