/// <summary>
        /// 承接段尾合并方法
        /// </summary>
        /// <param name="obj"></param>
        private void DocParagraphMergeMethod(object obj)
        {
            try
            {
                FileMergeModel fileMergeModel = obj as FileMergeModel;
                //实例化Document对象
                Document doc = new Document();
                doc.InsertTextFromFile(fileMergeModel.mergeFileList[0].fileSrc, FileFormat.Auto);

                //遍历进行合并
                for (var i = 1; i < fileMergeModel.mergeFileList.Count; i++)
                {
                    Section lastSection = doc.LastSection;//获取doc的最后一个section

                    Document currDoc = new Document(fileMergeModel.mergeFileList[i].fileSrc);

                    //遍历currDoc的section和段落,将每一个段落添加到doc的最后一个section
                    foreach (Section section in currDoc.Sections)
                    {
                        foreach (Paragraph paragraph in section.Paragraphs)
                        {
                            lastSection.Paragraphs.Add(paragraph.Clone() as Paragraph);
                        }
                    }
                }
                doc.SaveToFile(fileMergeModel.mergeFileSrc, FileFormat.Auto);//保存为新的文档
                ShowMessage.ShowContent(ChangeLanguage.getLanguage("ExecutionCompleted"), showTitle);
            }
            catch (Exception ex)
            {
                ShowMessage.ShowError(ex.Message, showTitle);
            }
        }
        /// <summary>
        /// 合并文件方法
        /// </summary>
        /// <param name="obj"></param>
        private void MergeFileThread(object obj)
        {
            FileMergeModel    fileMergeModel = obj as FileMergeModel;
            List <MergeModel> list           = new List <MergeModel>();

            list = fileMergeModel.mergeFileList;
            //文件判断
            string outFile = fileMergeModel.mergeFileSrc;

            if (File.Exists(outFile))
            {
                File.Delete(outFile);
            }
            using (FileStream fileOut = new FileStream(fileMergeModel.mergeFileSrc, FileMode.Create, FileAccess.ReadWrite))
            {
                //转换为默认编码的流
                BinaryWriter bw = new BinaryWriter(fileOut, Encoding.UTF8);
                foreach (MergeModel item in list)
                {
                    try
                    {
                        //创建文件
                        FileStream fileStream = new FileStream(item.fileSrc, FileMode.Open, FileAccess.Read, FileShare.Read);
                        //设置当前流的位置,即开始位置
                        fileStream.Seek(0, SeekOrigin.Begin);

                        int fileData = 0;
                        //指定byte数组大小
                        byte[] buffer = new byte[fileStream.Length];
                        //读取指定大小的流
                        if ((fileData = fileStream.Read(buffer, 0, buffer.Length)) > 0)
                        {
                            //将字节数组写入流
                            bw.Write(buffer, 0, fileData);
                        }
                        if (item.fileIndex == -1)
                        {
                            ShowMessage.ShowContent(ChangeLanguage.getLanguage("ExecutionCompleted"), showTitle);
                            bw.Flush();
                            bw.Dispose();
                            bw.Close();
                            fileOut.Close();
                        }
                    }
                    catch (System.Exception ex)
                    {
                        ShowMessage.ShowError(ex.Message, showTitle);
                        fileOut.Close();
                        return;
                    }
                    finally
                    { }
                }
            }
        }
        private void btn_Merge_Click(object sender, EventArgs e)
        {
            if (!RequiredVerification())
            {
                return;
            }
            if (ShowMessage.ShowConfirm(ChangeLanguage.getLanguage("ConfirmExecution"), showTitle) == DialogResult.OK)
            {
                double            totalSize      = 0;
                FileMergeModel    fileMergeModel = new FileMergeModel();
                List <MergeModel> list           = new List <MergeModel>();
                foreach (ListViewItem item in lv_File.Items)
                {
                    MergeModel model = new MergeModel();
                    model.fileSrc       = item.SubItems[0].Text;
                    model.fileName      = item.SubItems[1].Text;
                    model.fileExtension = item.SubItems[2].Text;
                    model.fileLength    = item.SubItems[3].Text;
                    if (item.Index == lv_File.Items.Count - 1)
                    {
                        model.fileIndex = -1;
                    }
                    else
                    {
                        model.fileIndex = item.Index;
                    }
                    totalSize += double.Parse(model.fileLength);
                    list.Add(model);
                }
                fileMergeModel.mergeFileList      = list;
                fileMergeModel.mergeFilePath      = txt_FilePath.Text;
                fileMergeModel.mergeFileName      = txt_FileName.Text.Trim();
                fileMergeModel.mergeFileExtension = lv_File.Items[0].SubItems[2].Text;
                fileMergeModel.mergeFileSrc       = fileMergeModel.mergeFilePath + @"\" + fileMergeModel.mergeFileName + fileMergeModel.mergeFileExtension;
                if (totalSize > 21474836480)
                {
                    ShowMessage.ShowContent(ChangeLanguage.getLanguage("MergeFileSizeLimit"), showTitle);
                    return;
                }

                if (rbtn_WorkBook.Checked)
                {
                    WorkBookMergeMethodInvoker mergeWorkBookMethod = new WorkBookMergeMethodInvoker(WorkBookMergeMethod);
                    this.BeginInvoke(mergeWorkBookMethod, new object[] { fileMergeModel });
                }
                else if (rbtn_WorkSheet.Checked)
                {
                    WorkSheetMergeMethodInvoker mergeWorkSheetMethod = new WorkSheetMergeMethodInvoker(WorkSheetMergeMethod);
                    this.BeginInvoke(mergeWorkSheetMethod, new object[] { fileMergeModel });
                }
            }
        }
        /// <summary>
        /// 添加新页合并方法
        /// </summary>
        /// <param name="obj"></param>
        private void DocPageMergeMethod(object obj)
        {
            try
            {
                FileMergeModel fileMergeModel = obj as FileMergeModel;
                //实例化Document对象
                Document doc = new Document();
                foreach (var mergeFile in fileMergeModel.mergeFileList)
                {
                    //使用InsertTextFromFile方法将文档合并到已创建的文档对象中
                    doc.InsertTextFromFile(mergeFile.fileSrc, FileFormat.Auto);
                }
                doc.SaveToFile(fileMergeModel.mergeFileSrc, FileFormat.Auto); //保存文档

                ShowMessage.ShowContent(ChangeLanguage.getLanguage("ExecutionCompleted"), showTitle);
            }
            catch (Exception ex)
            {
                ShowMessage.ShowError(ex.Message, showTitle);
            }
        }
        /// <summary>
        /// 工作簿合并
        /// </summary>
        /// <param name="obj"></param>
        private void WorkBookMergeMethod(object obj)
        {
            FileMergeModel fileMergeModel = obj as FileMergeModel;
            Workbook       workBook       = new Workbook();

            try
            {
                workBook.CreateEmptySheets(1);
                if (fileMergeModel != null && fileMergeModel.mergeFileList != null)
                {
                    foreach (var mergeFile in fileMergeModel.mergeFileList)
                    {
                        Workbook subWorkBook = new Workbook();
                        subWorkBook.LoadFromFile(mergeFile.fileSrc);
                        workBook.Worksheets.AddCopy(subWorkBook.Worksheets);
                        subWorkBook.Dispose();
                    }
                }
                workBook.Worksheets.RemoveAt(0);
                if (fileMergeModel.mergeFileExtension == ".xls")
                {
                    workBook.SaveToFile(fileMergeModel.mergeFileSrc, ExcelVersion.Version97to2003);
                }
                else
                {
                    workBook.SaveToFile(fileMergeModel.mergeFileSrc, ExcelVersion.Version2007);
                }
                workBook.Dispose();
                ShowMessage.ShowContent(ChangeLanguage.getLanguage("ExecutionCompleted"), showTitle);
            }
            catch (Exception ex)
            {
                workBook.Dispose();
                ShowMessage.ShowError(ex.Message, showTitle);
            }
        }
        /// <summary>
        /// 工作表合并
        /// </summary>
        /// <param name="obj"></param>
        private void WorkSheetMergeMethod(object obj)
        {
            FileMergeModel fileMergeModel = obj as FileMergeModel;

            try
            {
                if (fileMergeModel != null && fileMergeModel.mergeFileList != null)
                {
                    int index = 0;
                    foreach (var mergeFile in fileMergeModel.mergeFileList)
                    {
                        string filePath = fileMergeModel.mergeFilePath + @"\" + fileMergeModel.mergeFileName + index + fileMergeModel.mergeFileExtension;

                        //新建工作簿
                        Workbook workBook = new Workbook();
                        workBook.CreateEmptySheets(1);

                        //需合并的工作簿
                        Workbook subWorkBook = new Workbook();
                        subWorkBook.LoadFromFile(mergeFile.fileSrc);

                        //同步第一个工作表并生成
                        workBook.Worksheets.AddCopy(subWorkBook.Worksheets);
                        int sheetCount = workBook.Worksheets.Count;
                        for (int i = sheetCount - 1; i >= 0; i--)
                        {
                            if (i != 1)
                            {
                                workBook.Worksheets.RemoveAt(i);
                            }
                        }

                        if (fileMergeModel.mergeFileExtension == ".xls")
                        {
                            workBook.SaveToFile(filePath, ExcelVersion.Version97to2003);
                        }
                        else
                        {
                            workBook.SaveToFile(filePath, ExcelVersion.Version2007);
                        }

                        workBook.LoadFromFile(filePath);
                        Worksheet workSheet = workBook.Worksheets[0];

                        //遍历工作簿中的工作表
                        int subIndex = 0;
                        foreach (Worksheet subSheet in subWorkBook.Worksheets)
                        {
                            if (subIndex > 0)
                            {
                                //复制subSheet工作表内容到合并工作表(workSheet)的指定区域中->追加
                                subSheet.AllocatedRange.Copy(workSheet.Range[workSheet.LastRow + 1, 1]);
                            }
                            subIndex++;
                        }
                        subWorkBook.Dispose();
                        workSheet.Name = "Merged sheet";

                        if (fileMergeModel.mergeFileExtension == ".xls")
                        {
                            workBook.SaveToFile(filePath, ExcelVersion.Version97to2003);
                        }
                        else
                        {
                            workBook.SaveToFile(filePath, ExcelVersion.Version2007);
                        }

                        workBook.Dispose();
                        index++;
                    }

                    ShowMessage.ShowContent(ChangeLanguage.getLanguage("ExecutionCompleted"), showTitle);
                }
            }
            catch (Exception ex)
            {
                ShowMessage.ShowError(ex.Message, showTitle);
            }
        }