Ejemplo n.º 1
0
        /// <summary>
        /// 获取文件类型默认名称
        /// </summary>
        /// <param name="filOutputType"></param>
        /// <returns></returns>
        public static string GetFileName(FileOutputType filOutputType)
        {
            string FileName = "";

            switch (filOutputType)
            {
            case FileOutputType.Project:
                FileName = "项目清单";
                break;

            case FileOutputType.Contract:
                FileName = "合同清单";
                break;

            case FileOutputType.Loan:
                FileName = "放款清单";
                break;

            case FileOutputType.Supervision:
                FileName = "代偿清单";
                break;

            case FileOutputType.Premium:
                FileName = "保费清单";
                break;

            case FileOutputType.Report:
                FileName = "报表清单";
                break;
            }

            return(FileName);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates the output files.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="items">The parsed items to be used for the creation of the output.</param>
        /// <param name="fileOutputType">The file type.</param>
        /// <returns></returns>
        public bool Create <T>(IEnumerable <T> items, FileOutputType fileOutputType)
            where T : IExtractable
        {
            if (Writers[fileOutputType].TryGetValue(typeof(T).Name, out IWritable writable))
            {
                writable.FileOutputOptions = FileOutputOptions;
                writable.HotsBuild         = HotsBuild;

                ((IWriter <T>)writable).CreateOutput(items);

                return(true);
            }

            return(false);
        }
 protected RewardPortraitDataWriter(FileOutputType fileOutputType)
     : base(nameof(RewardPortraitData), fileOutputType)
 {
 }
 protected VoiceLineDataWriter(FileOutputType fileOutputType)
     : base(nameof(VoiceLineData), fileOutputType)
 {
 }
Ejemplo n.º 5
0
 protected BannerDataWriter(FileOutputType fileOutputType)
     : base(nameof(BannerData), fileOutputType)
 {
 }
Ejemplo n.º 6
0
 protected HeroDataWriter(string type, FileOutputType fileOutputType)
     : base(type, fileOutputType)
 {
 }
 protected EmoticonDataWriter(FileOutputType fileOutputType)
     : base(nameof(EmoticonData), fileOutputType)
 {
 }
Ejemplo n.º 8
0
 protected HeroSkinDataWriter(FileOutputType fileOutputType)
     : base(nameof(HeroSkinData), fileOutputType)
 {
 }
Ejemplo n.º 9
0
 protected UnitDataWriter(FileOutputType fileOutputType)
     : base(nameof(UnitData), fileOutputType)
 {
 }
 protected PortraitPackDataWriter(FileOutputType fileOutputType)
     : base(nameof(PortraitPackData), fileOutputType)
 {
 }
Ejemplo n.º 11
0
 protected WriterBase(string dataName, FileOutputType fileOutputType)
 {
     DataName       = dataName.ToLower();
     FileOutputType = fileOutputType;
 }
Ejemplo n.º 12
0
 protected SprayDataWriter(FileOutputType fileOutputType)
     : base(nameof(SprayData), fileOutputType)
 {
 }
Ejemplo n.º 13
0
 protected AnnouncerDataWriter(FileOutputType fileOutputType)
     : base(nameof(AnnouncerData), fileOutputType)
 {
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Excelを出力する
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="sheetName"></param>
        /// <param name="fileOutputType"></param>
        internal void CreateExcel(string filePath, string sheetName, FileOutputType fileOutputType)
        {
            try
            {
                IWorkbook workbook = null;
                ISheet    sheet    = null;
                string    ext      = System.IO.Path.GetExtension(filePath);
                switch (fileOutputType)
                {
                case FileOutputType.追記:
                    if (System.IO.File.Exists(filePath))
                    {
                        using (var fs = File.OpenRead(filePath))
                        {
                            workbook = WorkbookFactory.Create(fs);
                        }
                        sheet = workbook.GetSheet(sheetName);
                    }
                    else
                    {
                        if (ext.ToUpper() == ".xls")
                        {
                            workbook = new HSSFWorkbook();
                            sheet    = workbook.CreateSheet(sheetName);
                        }
                        else
                        {
                            workbook = new XSSFWorkbook();
                            sheet    = workbook.CreateSheet(sheetName);
                        }
                    }

                    break;

                case FileOutputType.書き:
                    if (ext.ToUpper() == ".xls")
                    {
                        workbook = new HSSFWorkbook();
                        sheet    = workbook.CreateSheet(sheetName);
                    }
                    else
                    {
                        workbook = new XSSFWorkbook();
                        sheet    = workbook.CreateSheet(sheetName);
                    }
                    break;
                }

                switch (fileOutputType)
                {
                case FileOutputType.追記:
                {
                    int last = sheet.LastRowNum;
                    if (last > 0)
                    {
                        last++;
                    }
                    for (int r = 0; r < ValueList.Count; r++)
                    {
                        IRow row = sheet.CreateRow(r + last);
                        for (int c = 0; c < ValueList[r].Count; c++)
                        {
                            ICell cell = row.CreateCell(c);
                            cell.SetCellValue(ValueList[r][c]);
                        }
                    }

                    using (var fs = File.Create(filePath))
                    {
                        try
                        {
                            if (workbook is XSSFWorkbook)
                            {
                                XSSFWorkbook     b     = (XSSFWorkbook)workbook;
                                POIXMLProperties props = b.GetProperties();
                                props.CoreProperties.Creator = "Macrobo";
                            }
                        }
                        catch (Exception) {}

                        workbook.Write(fs);
                        workbook.Close();
                    }
                }
                break;

                case FileOutputType.書き:
                {
                    for (int r = 0; r < ValueList.Count; r++)
                    {
                        IRow row = sheet.CreateRow(r);
                        for (int c = 0; c < ValueList[r].Count; c++)
                        {
                            ICell cell = row.CreateCell(c);
                            cell.SetCellValue(ValueList[r][c]);
                        }
                    }
                    if (System.IO.File.Exists(filePath))
                    {
                        System.IO.File.Delete(filePath);
                    }
                    using (var fs = File.Create(filePath))
                    {
                        try
                        {
                            if (workbook is XSSFWorkbook)
                            {
                                XSSFWorkbook     b     = (XSSFWorkbook)workbook;
                                POIXMLProperties props = b.GetProperties();
                                props.CoreProperties.Creator = "Macrobo";
                            }
                        }
                        catch (Exception) { }
                        workbook.Write(fs);
                        workbook.Close();
                    }
                }
                break;
                }
            }
            catch (Exception ex)
            {
                throw Program.ThrowException(ex);
            }
        }
Ejemplo n.º 15
0
 protected MatchAwardDataWriter(FileOutputType fileOutputType)
     : base(nameof(MatchAwardData), fileOutputType)
 {
 }
Ejemplo n.º 16
0
 protected WriterBase(string dataName, FileOutputType fileOutputType)
 {
     _dataName       = dataName.ToLowerInvariant();
     _fileOutputType = fileOutputType;
 }
Ejemplo n.º 17
0
 protected MountDataWriter(FileOutputType fileOutputType)
     : base(nameof(MountData), fileOutputType)
 {
 }
Ejemplo n.º 18
0
 public BehaviorVeterancyDataWriter(FileOutputType fileOutputType)
     : base(nameof(BehaviorVeterancyData), fileOutputType)
 {
 }
Ejemplo n.º 19
0
 /// <summary>
 /// table生成excel xlsx格式
 /// </summary>
 /// <param name="TableView"></param>
 /// <param name="filOutputType">生成的文件名</param>
 /// <param name="FilePath">路径</param>
 /// <param name="IsStart">是否打开文件</param>
 /// <returns></returns>
 public static bool CreateTableViewToXlsx(DevExpress.Xpf.Grid.TableView TableView, FileOutputType filOutputType, string FilePath = null, bool IsStart = true)
 {
     try
     {
         string FileName = GetFileName(filOutputType);
         if (FilePath == null)
         {
             FilePath = System.Environment.CurrentDirectory + "\\输出文件夹";
         }
         if (!Directory.Exists(FilePath))
         {
             Directory.CreateDirectory(FilePath);
         }
         SaveFileDialog dialog = new SaveFileDialog();
         dialog.Filter           = "Excel文件 (*.xlsx)|*.xlsx";
         dialog.InitialDirectory = FilePath;
         dialog.FileName         = FileName;
         dialog.FilterIndex      = 1;
         string saveFileName;
         if (dialog.ShowDialog() == DialogResult.OK)
         {
             saveFileName = dialog.FileName;
             FileName     = Path.GetFileNameWithoutExtension(saveFileName);
         }
         else
         {
             return(false);
         }
         if (File.Exists(saveFileName))
         {
             FileStream fs    = null;
             bool       inUse = true;
             try
             {
                 fs    = new FileStream(saveFileName, FileMode.Open, FileAccess.Read, FileShare.None);
                 inUse = false;
             }
             catch { }
             finally
             {
                 if (fs != null)
                 {
                     fs.Close();
                 }
             }
             if (inUse)
             {
                 DevExpress.Xpf.Core.DXMessageBox.Show(filOutputType + "正在被使用,请关闭后重新操作。");
                 return(false);
             }
         }
         DevExpress.XtraPrinting.XlsxExportOptionsEx option = new DevExpress.XtraPrinting.XlsxExportOptionsEx()
         {
             ExportType     = DevExpress.Export.ExportType.WYSIWYG,
             TextExportMode = DevExpress.XtraPrinting.TextExportMode.Text,
             ShowGridLines  = true,
         };
         TableView.ExportToXlsx(saveFileName, option);
         LOGGER.Info($"生成文件{filOutputType}成功");
         if (IsStart)
         {
             //保存多个会打开多个文件夹,应让用户自主选择保存位置
             //System.Diagnostics.Process.Start("Explorer.exe", filePath);
             System.Diagnostics.Process.Start(saveFileName);
         }
         return(true);
     }
     catch (Exception)
     {
         LOGGER.Error($"生成{filOutputType}文件失败");
         //throw new Exception($"生成{FileName}文件失败");
         return(false);
     }
 }