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()); } } }
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; } }
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(); }
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(); }
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); }
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); } }