Example #1
0
        private void SetBookMark(ExportWord exportWord, object data, string prefix = null)
        {
            if (data == null)
            {
                return;
            }

            foreach (var property in data.GetType().GetProperties(
                         BindingFlags.Public |
                         BindingFlags.Instance |
                         BindingFlags.GetProperty))
            {
                var propertyValue = property.GetValue(data);
                if (propertyValue == null)
                {
                    continue;
                }

                var propertyType = property.PropertyType;
                var bookMarkName = prefix + property.Name;
                if (propertyType.IsGenericType && propertyType.GetGenericTypeDefinition() == typeof(Nullable <>))
                {
                    propertyType = propertyType.GetGenericArguments()[0];
                }
                if (propertyType == typeof(double))
                {
                    exportWord.SetBookMarkText(bookMarkName, Math.Round((double)propertyValue).ToString());
                }
                else if (propertyType == typeof(float) || property == typeof(float?))
                {
                    exportWord.SetBookMarkText(bookMarkName, Math.Round((double)(float)propertyValue).ToString());
                }
                else if (propertyType == typeof(decimal))
                {
                    exportWord.SetBookMarkText(bookMarkName, Math.Round((decimal)propertyValue).ToString());
                }
                else if (propertyType.BaseType == typeof(Enum))
                {
                    exportWord.SetBookMarkText(bookMarkName, ((Enum)propertyValue).GetDisplayName());
                }
                else if (propertyType == typeof(DateTime))
                {
                    exportWord.SetBookMarkText(bookMarkName, ((DateTime)propertyValue).ToString("yyyy年MM月dd日"));
                }
                else if (propertyType != typeof(string) && (typeof(IEnumerable)).IsAssignableFrom(propertyType))
                {
                    var i = 0;
                    foreach (var item in (IEnumerable)propertyValue)
                    {
                        SetBookMark(exportWord, item, bookMarkName + i.ToString());
                    }
                }
                else
                {
                    exportWord.SetBookMarkText(bookMarkName, propertyValue.ToString());
                }
            }
        }
Example #2
0
    public static void Main()
    {
        IExportLocally  export  = new ExportWord();
        IExportToServer export2 = new ExportWord();

        export.Export();
        export2.Export();
        Console.ReadLine();
    }
        private void DoPrint()
        {
            ExportWord exportWord = new ExportWord();

            MemberInfo_ViewModel info             = getDB_FromForm();
            SettingImage_BLO     settingImage_BLO = new SettingImage_BLO();

            try
            {
                exportWord.CreateDocument(info, settingImage_BLO.getBackGround(), ref i);
            }
            catch { MessageBox.Show("Đóng các file word không sử dụng trước khi in file mới"); return; }
            if (changevalueRegisterNumber == true)
            {
                SetEmplty(); changevalueRegisterNumber = false;
            }
        }
Example #4
0
    public static void Main()
    {
        // Вариант №1
        IExportLocally  export  = new ExportWord();
        IExportToServer export2 = new ExportWord();

        export.Export();
        export2.Export();

        //Вариант №2
        ExportWord exportExp2 = new ExportWord();

        ((IExportLocally)exportExp2).Export();
        ((IExportToServer)exportExp2).Export();

        Console.ReadLine();
    }
Example #5
0
    public static void Main()
    {
        IExport export;
        GetData gd;
        bool    ans = gd.AnsYesNo("Экспорт в Word, y/n?");

        if (!ans) // Теперь мы можем по условию создать нужный нам объект
        {
            export = new ExportExcel();
            Console.WriteLine("Excel");
        }
        else
        {
            export = new ExportWord();
            Console.WriteLine("Word");
        }
        Console.ReadLine();
    }
        protected void btn_Export_Click(object sender, EventArgs e)
        {
            string str = this.ddl_Encoding.SelectedItem.Value;
            ExportWord word = new ExportWord();
            string libraryNo = this.ddl_Library.SelectedItem.Value;
            bool showAnswer = this.chk_ShowAnswer.Checked;
            string[] strArray = word.Get_LXLibraryInfo(libraryNo).Split(new char[] { '^' });
            string str4 = "";
            if (strArray[0] == "B")
            {
                str4 = word.CreateRndPrintPage(libraryNo, showAnswer);
            }
            else if (strArray[0] == "A")
            {
                str4 = word.CreateFixPrintPage(libraryNo, showAnswer);
            }
            base.Response.Clear();
            base.Response.Buffer = true;
            if (str == "GB2312")
            {
                base.Response.Charset = "GB2312";
            }
            else if (str == "UTF8")
            {
                base.Response.Charset = "UTF8";
            }
            string str5 = "Export_" + DateTime.Now.ToString("yyyy-MM-dd_HHmmss") + ".doc";
            SaveExportLog(str4, int.Parse(libraryNo), ddl_subject.SelectedItem.Text);
            base.Response.AppendHeader("Content-Disposition", "attachment;filename=" + str5);
            switch (str)
            {
                case "GB2312":
                    base.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
                    break;

                case "UTF8":
                    base.Response.ContentEncoding = Encoding.UTF8;
                    break;
            }
            base.Response.ContentType = "application/ms-word";
            base.Response.Output.Write(str4);
            base.Response.Flush();
            base.Response.End();
        }
Example #7
0
        public async Task <ValueTuple <string, string> > ExportAsync(IServiceProvider serviceProvider, Guid id, Guid templateId, TemplateType type)
        {
            var fileTemplate = await GetAsync(templateId);

            if (fileTemplate == null)
            {
                throw new BussinessException("无法找到指定的文档模板");
            }

            object data = null;

            switch (type)
            {
            case TemplateType.PurchaseOrder:
                var purchaseOrderContract = serviceProvider.GetService <IPurchaseOrderContract>();
                data = await purchaseOrderContract.GetAsync(id);

                break;

            case TemplateType.InboundReceipt:
                var inboundReceiptContract = serviceProvider.GetService <IInboundReceiptContract>();
                data = await inboundReceiptContract.GetAsync(id);

                break;

            case TemplateType.OutboundReceipt:
                var outboundReceiptContract = serviceProvider.GetService <IOutboundReceiptContract>();
                data = await outboundReceiptContract.GetAsync(id);

                break;

            case TemplateType.TransferOrder:
                var transferOrderContract = serviceProvider.GetService <ITransferOrderContract>();
                data = await transferOrderContract.GetAsync(id);

                break;

            case TemplateType.SaleOrder:
                var saleOrderContract = serviceProvider.GetService <ISaleOrderContract>();
                data = await saleOrderContract.GetAsync(id);

                break;

            default:
                throw new BussinessException("模板类型不正确");
            }

            if (data == null)
            {
                throw new BussinessException("找不到指定表单数据");
            }

            var fullPath = Path.Combine(_templatesPath, fileTemplate.Path);
            var word     = new ExportWord(fullPath);

            word.OnExport = () =>
            {
                SetBookMark(word, data, "");
            };

            var tempDirectory = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "temp");
            var directory     = new DirectoryInfo(tempDirectory);

            if (!directory.Exists)
            {
                directory.Create();
            }
            try
            {
                foreach (var file in directory.GetFiles())
                {
                    file.Delete();
                }
            }
            catch
            {
            }

            var fileName   = Guid.NewGuid().ToString();
            var tragetPath = Path.Combine(tempDirectory, fileName + ".docx");

            word.Export(tragetPath);
            return(type.GetDisplayName(), fileName);
        }
Example #8
0
        private void OnExportToWord()
        {
            List <DataRow> checkedRows = _dictPatient.Values.ToList();

            if (checkedRows.Count > 0)
            {
                FolderBrowserDialog dlg = new FolderBrowserDialog();
                if (dlg.ShowDialog(this) == DialogResult.OK)
                {
                    foreach (DataRow row in checkedRows)
                    {
                        string contractMemberGUID = row["ContractMemberGUID"].ToString();
                        string fileNum            = row["FileNum"].ToString();
                        string fullName           = Utility.ConvertToUnSign2(row["FullName"].ToString());
                        Result result             = MauHoSoBus.GetMauChayHoSo(contractMemberGUID, _hopDongGUID);
                        if (!result.IsOK)
                        {
                            MsgBox.Show(Application.ProductName, result.GetErrorAsString("MauHoSoBus.GetMauChayHoSo"), IconType.Error);
                            Utility.WriteToTraceLog(result.GetErrorAsString("MauHoSoBus.GetMauChayHoSo"));
                            return;
                        }

                        List <MauHoSo> mauHoSoList = result.QueryResult as List <MauHoSo>;
                        if (mauHoSoList == null || mauHoSoList.Count <= 0)
                        {
                            continue;
                        }

                        result = MauHoSoBus.GetDichVuChayMauHoSo(contractMemberGUID, _hopDongGUID);
                        if (!result.IsOK)
                        {
                            MsgBox.Show(Application.ProductName, result.GetErrorAsString("MauHoSoBus.GetDichVuChayMauHoSo"), IconType.Error);
                            Utility.WriteToTraceLog(result.GetErrorAsString("MauHoSoBus.GetDichVuChayMauHoSo"));
                            return;
                        }

                        DataTable dtAllService = result.QueryResult as DataTable;
                        DataRow[] serviceRows3 = dtAllService.Select(string.Format("Loai=3"));
                        if (serviceRows3 != null && serviceRows3.Length > 0)
                        {
                            foreach (DataRow r in serviceRows3)
                            {
                                string serviceName         = r["Name"].ToString();
                                bool   isNormal_Abnormal   = Convert.ToBoolean(r["Normal_Abnormal"]);
                                bool   isNegative_Positive = Convert.ToBoolean(r["Negative_Positive"]);
                                if (!isNormal_Abnormal && !isNegative_Positive)
                                {
                                    MsgBox.Show(Application.ProductName, string.Format("Dịch vụ: '{0}' chưa được cấu hình. Vui lòng cấu hình cho dịch vụ này.", serviceName),
                                                IconType.Information);
                                    return;
                                }
                            }
                        }

                        foreach (MauHoSo mauHoSo in mauHoSoList)
                        {
                            try
                            {
                                object fileName = GetMauHoSoTemplate(mauHoSo);
                                Utility.CopyTemplates(fileName.ToString());

                                object reportFileName = string.Format("{0}\\{1}_{2}_{3}.doc", dlg.SelectedPath, Path.GetFileNameWithoutExtension(fileName.ToString()),
                                                                      fileNum, fullName);

                                File.Copy(fileName.ToString(), reportFileName.ToString(), true);

                                if (mauHoSo.Loai == 1)
                                {
                                    DataRow[] serviceRows = dtAllService.Select(string.Format("Loai=1"));
                                    ExportWord.PrintXetNghiem(reportFileName, row, serviceRows, string.Empty, false);
                                }
                                else if (mauHoSo.Loai == 2)
                                {
                                    DataRow[] serviceRows = dtAllService.Select(string.Format("Loai=2"));
                                    ExportWord.PrintChecklist(reportFileName, row, serviceRows, string.Empty, false);
                                }
                                else if (mauHoSo.Loai == 3)
                                {
                                    DataRow[] serviceRows = dtAllService.Select(string.Format("Loai=3"));
                                    ExportWord.PrintKetQuaCanLamSang(reportFileName, row, serviceRows, string.Empty, false);
                                }
                                else
                                {
                                    ExportWord.PrintMauHoSoChung(reportFileName, row, string.Empty, false);
                                }
                            }
                            catch (Exception ex)
                            {
                                MsgBox.Show(Application.ProductName, ex.Message, IconType.Error);
                                Utility.WriteToTraceLog(ex.Message);
                            }
                        }
                    }
                }
            }
            else
            {
                MsgBox.Show(Application.ProductName, "Vui lòng đánh dấu những bệnh nhân cần xuất.", IconType.Information);
            }
        }