public static void Main(string[] args) { /* Start DB services */ Core.Init(); var db = new DataBase(Path.Combine(Config.DBDir(),Constants.DB_FILE)); Project p = db.GetProject(db.GetAllProjects()[0].UUID); ExcelExporter ee = new ExcelExporter(); ee.ExportProject(p, "/home/andoni/test.xls"); }
public void Test() { var models = GetModels(); var exporter = new ExcelExporter(); var bytes = exporter.ObjectToExcelBytes(models); var path = GetFilePath("text.xls"); Console.WriteLine(path); File.WriteAllBytes(path, bytes); Assert.IsTrue(File.Exists(path)); var importer = new ExcelImporter(); var result = importer.ExcelToObject<ReportModel>(path); Assert.AreEqual(models.Count, result.Count()); }
static void Main(string[] args) { IList<Address> addresses = new List<Address> { new Address { HouseNumber = "74", RoadName = "Ellenborough Close", City = "Bishops Stortford", County = "Herts", PostCode = "CM23 4HT", Country = "England" }, new Address { HouseNumber = "70", RoadName = "Hadham Road", City = "Bishops Stortford", County = "Herts", PostCode = "CM23 2QY", Country = "England" } }; ExcelExporter<Address> excelExporter = new ExcelExporter<Address>(); XDocument xdoc = excelExporter.GetExcelWorkbook(addresses); Console.WriteLine(xdoc.ToString()); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ucotCondition1_ExportEvent(object sender, EventArgs e) { if (ExcelExporter.CanExport(dataGridView1)) { string f = ExcelExporter.GenerateFileName(); ExcelExporter ee = new ExcelExporter(f, DataGridViewFormatters.DefaultDataFormatterCollection); ee.Export(dataGridView1); ProcessStartInfo si = new ProcessStartInfo(f); si.ErrorDialog = true; Process.Start(si); } else { string s = string.Format(strings.RowCountOutOfRange, ExcelExporter.MaxRowCount); NUnit.UiKit.UserMessage.DisplayFailure(s); } }
private void Export() { //throw new NotImplementedException(); if (!ExcelExporter.CanExport(this.dataGridView1)) { string s = string.Format("数据行数不能大于 {0}", ExcelExporter.MaxRowCount); NUnit.UiKit.UserMessage.DisplayFailure(s); return; } string f = ExcelExporter.GenerateFileName(); ExcelExporter ee = new ExcelExporter(f, DataGridViewFormatters.DefaultDataFormatterCollection); ee.Export(dataGridView1); ProcessStartInfo si = new ProcessStartInfo(f); si.ErrorDialog = true; Process.Start(si); }
public static void Main() { DataExporter exporter = null; // Lets export the data to Excel file exporter = new ExcelExporter(); exporter.ExportFormatedData(); Console.WriteLine(); // Lets export the data to PDF file exporter = new PDFExporter(); exporter.ExportFormatedData(); Console.WriteLine(); // Lets export the data to Word file exporter = new WordExporter(); exporter.ExportFormatedData(); }
protected void Page_Load(object sender, EventArgs e) { IList<Address> addresses = new List<Address> { new Address { HouseNumber = "74", RoadName = "Ellenborough Close", City = "Bishops Stortford", County = "Herts", PostCode = "CM23 4HT", Country = "England" }, new Address { HouseNumber = "70", RoadName = "Hadham Road", City = "Bishops Stortford", County = "Herts", PostCode = "CM23 2QY", Country = "England" } }; var excelExporter = new ExcelExporter<Address>(); excelExporter.AddWorksheet("Addresses", addresses, true); excelExporter.AddWorksheet("Addresses1", addresses, true); excelExporter.AddWorksheet("Addresses2", addresses, false); excelExporter.ToExcel("test-addresses", HttpContext.Current.Response); excelExporter.SaveToFile(@"F:\Projects\Net\CommonLibrary\Test Data\Exported Data\","test-addresses"); }
static void Main(string[] args) { List<ExampleObject> examples = new List<ExampleObject>(); Random random = new Random(DateTime.Now.Millisecond); String[] itemNames = new[]{ "Apple", "Banana", "Cherry", "Grapefruit", "Kiwi", "Lime", "Mango", "Orange" }; for (Int32 i = 0; i < itemNames.Length; i++) { examples.Add(new ExampleObject { ItemNumber = (i + 1).ToString("D3"), Description = itemNames[i], Quantity = random.Next(1,10), UnitPrice = random.NextDouble() * 10, LastPurchased = DateTime.Now.AddDays(random.Next(-5,5)) }); } ExcelExporter exporter = new ExcelExporter(); exporter.ExportToSheet<ExampleObject>(examples, "Examples"); examples.Add(new ExampleObject { ItemNumber = "999", Description = "Last Object", Quantity = 99, UnitPrice = 999.99, LastPurchased = DateTime.Now.AddDays(99) }); exporter.ExportToSheet<ExampleObject>(examples, "Examples (+1)"); }
public async Task DynamicExport_Test() { IExporter exporter = new ExcelExporter(); var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(DynamicExport_Test) + ".xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } var exportDatas = GenFu.GenFu.ListOf <ExportTestDataWithAttrs>(1000); var dt = exportDatas.ToDataTable(); var result = await exporter.Export <ExportTestDataWithAttrs>(filePath, dt); result.ShouldNotBeNull(); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); sheet.Dimension.Columns.ShouldBe(9); } }
public async Task AttrExportWithAutoCenterData_Test() { IExporter exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(AttrExportWithAutoCenterData_Test)}.xlsx"); DeleteFile(filePath); var result = await exporter.Export(filePath, GenFu.GenFu.ListOf <ExportTestDataWithAutoCenter>()); result.ShouldNotBeNull(); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { pck.Workbook.Worksheets.Count.ShouldBe(1); pck.Workbook.Worksheets.First().Cells[pck.Workbook.Worksheets.First().Dimension.Address].Rows .ShouldBe(26); pck.Workbook.Worksheets.First() .Cells[1, 1, 10, 2].Style.HorizontalAlignment.ShouldBe(ExcelHorizontalAlignment.Center); pck.Workbook.Worksheets.First() .Cells[2, 2, 10, 2].Style.HorizontalAlignment.ShouldBe(ExcelHorizontalAlignment.Center); } }
public async Task ExportHeaderAsByteArrayWithItems_Test() { IExcelExporter exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(ExportHeaderAsByteArrayWithItems_Test)}.xlsx"); DeleteFile(filePath); var arr = new[] { "Name1", "Name2", "Name3", "Name4", "Name5", "Name6" }; var sheetName = "Test"; var result = await exporter.ExportHeaderAsByteArray(arr, sheetName); result.ShouldNotBeNull(); result.Length.ShouldBeGreaterThan(0); result.ToExcelExportFileInfo(filePath); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); sheet.Name.ShouldBe(sheetName); sheet.Dimension.Columns.ShouldBe(arr.Length); } }
public async Task ExportHeaderAsByteArray_Test() { IExporter exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(ExportHeaderAsByteArray_Test)}.xlsx"); DeleteFile(filePath); var result = await exporter.ExportHeaderAsByteArray(GenFu.GenFu.New <ExportTestDataWithAttrs>()); result.ShouldNotBeNull(); result.Length.ShouldBeGreaterThan(0); result.ToExcelExportFileInfo(filePath); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); sheet.Name.ShouldBe("测试"); sheet.Dimension.Columns.ShouldBe(9); } }
public async Task ExprotSeparateByColumn_Test() { var exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(ExprotSeparateByColumn_Test)}.xlsx"); DeleteFile(filePath); var list1 = GenFu.GenFu.ListOf <ExportTestDataWithAttrs>(); var list2 = GenFu.GenFu.ListOf <ExportTestDataWithSplitSheet>(30); var result = await exporter.Append(list1).SeparateByColumn().Append(list2) .SeparateByColumn() .Append(list2).ExportAppendData(filePath); result.ShouldNotBeNull(); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { pck.Workbook.Worksheets.Count.ShouldBe(1); } }
public async Task Export10000ByTemplate_Test() { //模板路径 var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", "Export10000ByTemplate_Test.xlsx"); //创建Excel导出对象 IExportFileByTemplate exporter = new ExcelExporter(); //导出路径 var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(Export10000ByTemplate_Test) + ".xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } var books = GenFu.GenFu.ListOf <BookInfo>(10000); //根据模板导出 await exporter.ExportByTemplate(filePath, new TextbookOrderInfo("湖南心莱信息科技有限公司", "湖南长沙岳麓区", "雪雁", "1367197xxxx", null, DateTime.Now.ToLongDateString(), "https://docs.microsoft.com/en-us/media/microsoft-logo-dark.png", books), tplPath); }
public IResult ExportExcel() { Update(); var columns = new[] { "№ п/п", "Товар", "Производитель", "Серия", "Срок годности", "Штрихкод", "Кол-во", "Цена розничная с НДС", "Сумма розничная с НДС", }; var book = new HSSFWorkbook(); var sheet = book.CreateSheet("Экспорт"); var row = 0; ExcelExporter.WriteRow(sheet, columns, row++); var rows = Lines.Select((o, i) => new object[] { o.Id, o.Product, o.Producer, o.SerialNumber, o.Period, o.Barcode, o.Quantity, o.RetailCost, o.RetailSum, }); ExcelExporter.WriteRows(sheet, rows, row); return(ExcelExporter.Export(book)); }
public async Task DynamicExportWithJObjectByTemplate_Test() { string json = @"{ 'Company': '雪雁', 'Address': '湖南长沙', 'Contact': '雪雁', 'Tel': '136xxx', 'BookInfos': [ {'No':'a1','RowNo':1,'Name':'Docker+Kubernetes应用开发与快速上云','EditorInChief':'李文强','PublishingHouse':'机械工业出版社','Price':65,'PurchaseQuantity':10000,'Cover':'https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965','Remark':'备注'}, {'No':'a2','RowNo':2,'Name':'Docker+Kubernetes应用开发与快速上云','EditorInChief':'李文强','PublishingHouse':'机械工业出版社','Price':65,'PurchaseQuantity':10000,'Cover':'https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965','Remark':'备注'} ] }"; var jobj = JObject.Parse(json); //模板路径 var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", "DynamicExportTpl.xlsx"); //创建Excel导出对象 IExportFileByTemplate exporter = new ExcelExporter(); //导出路径 var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(DynamicExportWithJObjectByTemplate_Test) + ".xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } //根据模板导出 await exporter.ExportByTemplate(filePath, jobj, tplPath); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); //确保所有的转换均已完成 sheet.Cells[sheet.Dimension.Address].Any(p => p.Text.Contains("{{")).ShouldBeFalse(); } }
public List <CashBook> CorrectCashInHands(AprajitaRetailsContext db, DateTime date, string fileName, bool IsDay = false) { List <CashBook> cashBookList; if (IsDay) { cashBookList = GetDailyCashBook(db, date); } else { cashBookList = GetMontlyCashBook(db, date); } ExcelExporter.CashBookExporter(fileName, cashBookList, "firstCashBook"); List <CashInHand> InHandList = CreateCashInHands(db, cashBookList); ExcelExporter.CashInHandExporter(fileName, InHandList, "New CashInhand"); InHandList = CashInHandCorrectionForMonth(db, date); ExcelExporter.CashInHandExporter(fileName, InHandList, "Updated CashInhand"); return(cashBookList); }
/// <summary> /// 导出Excel /// </summary> /// <param name="input"></param> /// <returns></returns> public virtual async Task <FileDto> ToExcel(TGetAllInput input) { CheckPermission(ExportPermissionName); List <TExportDto> exportData = null; using (UnitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete)) { var query = CreateFilteredQuery(input); var results = await query .OrderBy(input.Sorting) .ToListAsync(); exportData = results.MapTo <List <TExportDto> >(); if (exportData.Count == 0) { throw new UserFriendlyException(L("NoDataToExport")); } } var fileDto = new FileDto(L(typeof(TEntity).Name) + L("ExportData") + ".xlsx", MimeTypeNames.ApplicationVndOpenxmlformatsOfficedocumentSpreadsheetmlSheet); var byteArray = await ExcelExporter.ExportAsByteArray(exportData); TempFileCacheManager.SetFile(fileDto.FileToken, byteArray); return(fileDto); }
private void ClassDocumentation(string val) { if (_currentKeyWord != KeyWordType.CLASS) { string[] headers = { "Название", "Тип", "Базовый класс и интерфейсы", "Описание" }; ExcelExporter.AppendLine(Color.GreenYellow, headers); _currentKeyWord = KeyWordType.CLASS; _currentAccessType = KeyWordType.PRIVATE; } val = val.Replace(";", string.Empty); var docParams = new List <string>(); var typeAndName = val.Split('='); docParams.Add(typeAndName[0]); var parent = typeAndName[1].Split('('); docParams.Add(parent[0]); if (parent.Length > 1) { docParams.Add(parent[1].Replace(")", string.Empty)); } ExcelExporter.AppendLine(Color.White, docParams.ToArray()); }
public async Task ExportByColumnIndex_Test() { var exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(ExportByColumnIndex_Test)}.xlsx"); DeleteFile(filePath); var data = GenFu.GenFu.ListOf <Issue179>(100); var result = await exporter.Export(filePath, data); result.ShouldNotBeNull(); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { pck.Workbook.Worksheets.Count.ShouldBe(1); var sheet = pck.Workbook.Worksheets.First(); sheet.Tables.Count.ShouldBe(1); var tb = sheet.Tables.First(); tb.Columns.Count.ShouldBe(typeof(Issue179).GetProperties().Where(p => !p.GetAttribute <ExporterHeaderAttribute>().IsIgnore).Count()); tb.Columns.First().Name.ShouldBe("员工姓名"); tb.Columns[1].Name.ShouldBe("料号"); } }
public void WriteTestFile() { var configuration = new SheetConfiguration() { Name = "Sheet A", Columns = new List <ColumnBase>() { new TextColumn("Title", nameof(Record.Name)), new BooleanColumn("Active", nameof(Record.IsActive)), new DateColumn("Edited on...", nameof(Record.LastEditTime)), new NumberColumn("Length", nameof(Record.Size)) }, Data = new List <object>() { new Record() { LastEditTime = DateTime.Now, IsActive = true, Name = "Test a", Size = 123.4 }, new Record() { LastEditTime = DateTime.MaxValue, IsActive = false, Name = "Test b", Size = 4 } } }; using (var stream = ExcelExporter.Generate(configuration)) { File.WriteAllBytes(TestFilePath, stream.ToArray()); } }
public ActionResult DownloadBlankTemplate() { try { const string filePath = "~/App_Data/ExportTemplates/ImportEmployeeTemplate.xlsx"; var fileName = "EmployeesDataUpload.xlsx"; var excel = new ExcelExporter(Server.MapPath(filePath)); var folderPath = System.Web.HttpContext.Current.Server.MapPath("~\\Temp"); var destinationFolder = string.Format("{0}\\{1}", folderPath, System.Web.HttpContext.Current.User.Identity.Name); CreateFolder(destinationFolder, fileName); const string sheet = "Employee"; excel.SelectWorksheet(sheet); excel.SaveAs(Path.Combine(destinationFolder, fileName)); return(Json(new { fileName }, JsonRequestBehavior.AllowGet)); } catch (Exception) { var errorMessage = Message.IMPORT_DRAWING_DownloadError; return(Json(new { fileName = "", errorMessage }, JsonRequestBehavior.AllowGet)); } }
public void GivenExportTypeTest() { var exportType = "excel"; // 完整重構的 strategy // 在報表物件內部已不再包含策略的選擇(switch),變成需由外部決定後再傳入報表物件 IExportStrategy exporter = null; switch (exportType) { case "pdf": exporter = new PDFExporter(); break; case "excel": default: exporter = new ExcelExporter(); break; } var reportObj = new LunchReport_V3(exporter); var result = reportObj.Export("午餐清單"); Assert.AreEqual(exportType, _GetFileExt(result)); }
public async Task ExportMutiCollectionWithEmpty_Test() { var exporter = new ExcelExporter(); var filePath = GetTestFilePath($"{nameof(ExportMutiCollectionWithEmpty_Test)}.xlsx"); DeleteFile(filePath); var list1 = new List <ExportTestDataWithAttrs>(); var list2 = new List <ExportTestDataWithSplitSheet>(); var result = exporter.Append(list1).Append(list2).ExportAppendData(filePath); result.ShouldNotBeNull(); File.Exists(filePath).ShouldBeTrue(); using (var pck = new ExcelPackage(new FileInfo(filePath))) { pck.Workbook.Worksheets.Count.ShouldBe(2); } }
private void reportToExcelToolStripMenuItem_Click(object sender, EventArgs e) { ExcelExporter excelExporter = new ExcelExporter(); excelExporter.ExportFile(dataGridView1); }
public void ExportToExcel(object sender, DoWorkEventArgs e) { isExporting = true; ExcelExporter.ExportDataTableToExcelSheet(e.Argument.ToString(), dataTables, sheetNames); }
/// <summary> /// /// </summary> /// <param name="ee"></param> private void DeleteGRAlarmColumn(ExcelExporter ee) { int col = 1; int row = 1; FlexCel.Core.TXlsCellRange cellRange = new FlexCel.Core.TXlsCellRange( row, col, row, col); ee.XlsFile.DeleteRange(cellRange, FlexCel.Core.TFlxInsertMode.ShiftColRight); }
protected abstract byte[] CreateExcelData(ExcelExporter exporter, OutputData outputData);
protected override TimeSpan OnProcess() { if (_settings.ExportType == ExportTypes.Sql && _settings.Connection == null) { this.AddErrorLog(LocalizedStrings.Str3768); return(TimeSpan.MaxValue); } var allSecurity = this.GetAllSecurity(); var supportedDataTypes = (allSecurity == null ? Enumerable.Empty <Type>() : SupportedMarketDataTypes.Intersect(allSecurity.MarketDataTypes) ).ToArray(); this.AddInfoLog(LocalizedStrings.Str2306Params.Put(_settings.StartFrom)); Func <int, bool> isCancelled = count => !CanProcess(); var hasSecurities = false; foreach (var security in GetWorkingSecurities()) { hasSecurities = true; if (!CanProcess()) { break; } var path = _settings.ExportFolder; if (path.IsEmpty()) { path = DriveCache.Instance.DefaultDrive.Path; } foreach (var t in (allSecurity == null ? security.MarketDataTypes : supportedDataTypes)) { if (!CanProcess()) { break; } var arg = _settings.CandleSettings.Arg; var dataType = t.ToMessageType(ref arg); this.AddInfoLog(LocalizedStrings.Str3769Params.Put(security.Security.Id, dataType.Name, _settings.ExportType)); var fromStorage = StorageRegistry.GetStorage(security.Security, dataType, arg, _settings.Drive, _settings.StorageFormat); var from = fromStorage.GetFromDate(); var to = fromStorage.GetToDate(); if (from == null || to == null) { this.AddWarningLog(LocalizedStrings.Str3770); continue; } from = _settings.StartFrom.Max(from.Value); to = (DateTime.Today - TimeSpan.FromDays(_settings.Offset)).Min(to.Value); if (from > to) { continue; } BaseExporter exporter; if (_settings.ExportType == ExportTypes.Sql) { exporter = new DatabaseExporter(security.Security, arg, isCancelled, _settings.Connection) { BatchSize = _settings.BatchSize, CheckUnique = _settings.CheckUnique, }; } else { var fileName = Path.Combine(path, security.Security.GetFileName( dataType, arg, from.Value, to.Value, _settings.ExportType)); switch (_settings.ExportType) { case ExportTypes.Excel: exporter = new ExcelExporter(security.Security, arg, isCancelled, fileName, () => this.AddErrorLog(LocalizedStrings.Str3771)); break; case ExportTypes.Xml: exporter = new XmlExporter(security.Security, arg, isCancelled, fileName); break; case ExportTypes.Txt: exporter = new TextExporter(security.Security, arg, isCancelled, fileName, GetTxtTemplate(dataType, arg), _settings.Header); break; case ExportTypes.Bin: exporter = new BinExporter(security.Security, arg, isCancelled, DriveCache.Instance.GetDrive(path)); break; default: throw new ArgumentOutOfRangeException(); } } foreach (var date in from.Value.Range(to.Value, TimeSpan.FromDays(1))) { if (!CanProcess()) { break; } try { this.AddInfoLog(LocalizedStrings.Str3772Params.Put(security.Security.Id, dataType.Name, _settings.ExportType, date)); exporter.Export(dataType, fromStorage.Load(date)); } catch (Exception ex) { HandleError(ex); } } } } if (!hasSecurities) { this.AddWarningLog(LocalizedStrings.Str2292); return(TimeSpan.MaxValue); } if (CanProcess()) { this.AddInfoLog(LocalizedStrings.Str2300); _settings.StartFrom = DateTime.Today - TimeSpan.FromDays(_settings.Offset); SaveSettings(); } return(base.OnProcess()); }
///// <summary> ///// ///// </summary> ///// <param name="msg"></param> ///// <param name="keyData"></param> ///// <returns></returns> //protected override System.Boolean ProcessCmdKey(ref Message msg, Keys keyData) //{ // // ProcessCmdKey is only used for the Enter and the Escape keys. // if (keyData == Keys.Enter) // { // if (this.CurrentColumn.Index == this.Columns.Count - 1) // { // this.MoveCurrentRow(VerticalDirection.Down); // this.MoveCurrentCell(HorizontalDirection.Leftmost); // } // else // { // // Move to the next cell on the right when the enter key is pressed // this.MoveCurrentCell(HorizontalDirection.Right); // this.CurrentCell.BringIntoView(); // } // return true; // } // return base.ProcessCmdKey(ref msg, keyData); //} /// <summary> /// ������Excel /// </summary> /// <param name="fileName"></param> /// <param name="IncludeDetailGrids"></param> /// <param name="grid"></param> private static void ExportToExcelXml(string fileName, bool IncludeDetailGrids, IGrid grid) { ExcelExporter excelExporter = new ExcelExporter(); excelExporter.IncludeColumnHeaders = true; excelExporter.GridLineColor = Color.DarkGray; excelExporter.IncludeGridStyles = true; excelExporter.RepeatParentData = false; excelExporter.DetailGridsMode = DetailGridsMode.Independent; excelExporter.IncludeDetailGrids = IncludeDetailGrids; excelExporter.CellDataFormat = CellDataFormat.Value; excelExporter.WritingCell += new WritingCellElementEventHandler(excelExporter_WritingCell); try { if (grid is DetailGrid) { excelExporter.ColumnHeaderStyle = new ExcelStyle(Color.White, Color.Black, new Font((grid as DetailGrid).Font, FontStyle.Bold), ContentAlignment.BottomLeft); excelExporter.Export((grid as DetailGrid), fileName); } else if (grid is GridControl) { excelExporter.ColumnHeaderStyle = new ExcelStyle(Color.White, Color.Black, new Font((grid as GridControl).Font, FontStyle.Bold), ContentAlignment.BottomLeft); excelExporter.Export((grid as GridControl), fileName); } //if ((MessageForm.ShowYesNo("�ѳɹ�������" + System.Environment.NewLine + System.Environment.NewLine + "�Ƿ�Ҫ��Excel�д�", "�ɹ�����"))) //{ // System.Diagnostics.Process.Start(saveFileDialog.FileName); //} } catch (Exception ex) { ExceptionProcess.ProcessWithNotify(ex); } finally { excelExporter.WritingCell -= new WritingCellElementEventHandler(excelExporter_WritingCell); } }
private static void ExportReportsToExcel() { using (var dbContext = new FluentModelContent()) { var reports = dbContext.Reports.ToList(); var excelExporter = new ExcelExporter<Report>(); excelExporter.ExportDataModelsCollectionToExcelFile("../../", "report", "someName", reports); } Console.WriteLine("The Excel table was successfully writen."); }
public async Task Issue296_Test() { string json = @"{ 'ReportTitle': '测试报告', 'BeginDate': '2020/06/24', 'EndDate': '2021/06/24', '播放大厅营收报表': [ {'EquipName':'一区','放映场次':'100','取消场次':1,'售票数量':'100','入场人数':'100','入场异常':'100'}, {'EquipName':'二区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'三区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'四区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'五区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'六区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'七区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'八区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, {'EquipName':'九区','放映场次':'101','取消场次':12,'售票数量':'101','入场人数':'101','入场异常':'101'}, ], '播放大厅能耗情况': [ {'EquipName':'一区','放映设备':'100','放映空调':1,'4D设备':'100','能耗异常':'100','冷凝机组':'100','售卖区':'100'}, {'EquipName':'s区','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'1区','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'一2区','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'3','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'4','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'5','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'6','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'}, {'EquipName':'7','放映设备':'100','放映空调':2,'4D设备':'101','能耗异常':'111','冷凝机组':'200','售卖区':'30'} ], '安全情况':[ {'EquipName':'火警','时间':'今天','位置':'测试','次数':'100'}, {'EquipName':'异常','时间':'今天','位置':'测试','次数':'100'} ], '考勤情况':[ {'EquipName':'早班1','出勤':'11','休假':'33','迟到':'55','缺勤':'77','总人数':'1100'}, {'EquipName':'早班2','出勤':'22','休假':'44','迟到':'66','缺勤':'88','总人数':'1100'} ] }"; var jobj = JObject.Parse(json); //模板路径 var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", "Issue296.xlsx"); //创建Excel导出对象 IExportFileByTemplate exporter = new ExcelExporter(); //导出路径 var filePath = Path.Combine(Directory.GetCurrentDirectory(), $"{nameof(Issue296_Test)}.xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } //根据模板导出 await exporter.ExportByTemplate(filePath, jobj, tplPath); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); //确保所有的转换均已完成 sheet.Cells[sheet.Dimension.Address].Any(p => p.Text.Contains("{{")).ShouldBeFalse(); } }
public async Task DynamicExportWithExpandoObjectByTemplate_Test() { dynamic data = new ExpandoObject(); data.Company = "雪雁"; data.Address = "湖南长沙"; data.Contact = "雪雁"; data.Tel = "136xxx"; data.BookInfos = new List <ExpandoObject>() { }; dynamic book1 = new ExpandoObject(); book1.No = "A1"; book1.RowNo = 1; book1.Name = "Docker+Kubernetes应用开发与快速上云"; book1.EditorInChief = "李文强"; book1.PublishingHouse = "机械工业出版社"; book1.Price = 65; book1.PurchaseQuantity = 50000; book1.Cover = "https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965"; book1.Remark = "买买买"; data.BookInfos.Add(book1); dynamic book2 = new ExpandoObject(); book2.No = "A2"; book2.RowNo = 2; book2.Name = "Docker+Kubernetes应用开发与快速上云"; book2.EditorInChief = "李文强"; book2.PublishingHouse = "机械工业出版社"; book2.Price = 65; book2.PurchaseQuantity = 50000; book2.Cover = "https://img9.doubanio.com/view/ark_article_cover/retina/public/135025435.jpg?v=1585121965"; book2.Remark = "买买买"; data.BookInfos.Add(book2); //模板路径 var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", "DynamicExportTpl.xlsx"); //创建Excel导出对象 IExportFileByTemplate exporter = new ExcelExporter(); //导出路径 var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(DynamicExportWithExpandoObjectByTemplate_Test) + ".xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } //根据模板导出 await exporter.ExportByTemplate(filePath, data, tplPath); using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); //确保所有的转换均已完成 sheet.Cells[sheet.Dimension.Address].Any(p => p.Text.Contains("{{")).ShouldBeFalse(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ucSelectCondition1_ExportEvent(object sender, EventArgs e) { // TODO: 到处耗热量合计 // string f = ExcelExporter.GenerateFileName(); ExcelExporter ee = new ExcelExporter(f, DataGridViewFormatters.DefaultDataFormatterCollection); CCC ccc = CCCFactory.CreateGRDataCCC(this.dataGridView1); ee.Export(dataGridView1, ccc); //Process.Execute(f); ProcessStartInfo si = new ProcessStartInfo(f); si.ErrorDialog = true; Process.Start(si); }
/// <summary> /// Appelé lorsque l'utilisateur clique sur le bouton d'export excel /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">Les <see cref="RoutedEventArgs"/> contenant les données de l'évènement.</param> private async void OnExportExcelClick(object sender, RoutedEventArgs e) { var formats = new Dictionary <ColumnFormat, ExportFormatBehavior>(); IEnumerable <DataGridColumn> columns; if (_target is DlhSoft.Windows.Controls.GanttChartDataGrid) { columns = ((DlhSoft.Windows.Controls.GanttChartDataGrid)_target).Columns; } else { columns = _target.Columns; } var sortedVisibileColumns = columns .Where(c => c.Visibility == Visibility.Visible) .OrderBy(c => c.DisplayIndex) .ToArray(); // On crée les formats compatibles avec l'exporter. foreach (DataGridColumn column in sortedVisibileColumns) { ColumnFormat excelFormat = new ColumnFormat(); ExportFormatBehavior format = Interaction.GetBehaviors(column).OfType <ExportFormatBehavior>().FirstOrDefault(); if (format != null && format.Binding != null) { excelFormat.Header = format.Header ?? (column.Header != null ? column.Header.ToString() : string.Empty); formats[excelFormat] = format; } } var data = new List <CellContent[]>(); // On récupère les données grâce aux bindings foreach (object item in _target.Items) { CellContent[] row = new CellContent[formats.Count]; int i = 0; foreach (var kvp in formats) { var excelFormat = kvp.Key; var behavior = kvp.Value; // Appliquer le binding var element = new FrameworkElement { DataContext = item }; BindingOperations.SetBinding(element, CellContentProperty, behavior.Binding); object value = element.GetValue(CellContentProperty); BindingOperations.ClearBinding(element, CellContentProperty); row[i] = value?.ToString(); i++; } data.Add(row); } // Affiche la fenêtre de confirmation var result = IoC.Resolve <IDialogFactory>().GetDialogView <IExportDialog>().ShowExportToExcel(ExcelFormat.Xlsm); // On sauvegarde if (result.Accepts) { try { string fileName = ExcelExporter.GetFileNameWithExtension(result.Filename); ExcelExporter file = await ExcelExporter.Create(fileName); WorksheetPart sheet = file.CreateSheet(LocalizationManager.GetString("DataGrid_ExcelExportSheetName")); file.AddTable(sheet, formats.Keys.ToArray(), data.ToArray()); file.SaveAndClose(); if (result.OpenWhenCreated) { System.Diagnostics.Process.Start(fileName); } } catch (ExcelExporter.FileAlreadyInUseExeption ex) { TraceManager.TraceError(ex, ex.Message); // Une notification a déjà été affichée dans ce cas précis } catch (Exception ex) { TraceManager.TraceError(ex, ex.Message); IoC.Resolve <IDialogFactory>().GetDialogView <IErrorDialog>().Show(ex.Message, LocalizationManager.GetString("Common_Error"), ex); } } }
public byte[] ExportAsExcel() { var dataToExport = dbContext.Products.AsEnumerable().Select(p => new ProductDC(p)); return(ExcelExporter.ExportDataToExcel(dataToExport.ToList(), typeof(Product).Name)); }
public void SetUp() { _excelCreatorMock = new Mock <IExcelCreator>(); _excelFileMock = new Mock <IExcelFile>(); _excelExporter = new ExcelExporter(_excelCreatorMock.Object); }
/// <summary> /// Export click /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_export_Click(object sender, EventArgs e) { string filename = null; SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Excel|*.xls"; saveFileDialog.Title = language.exportSaveFileDialogTitle;; saveFileDialog.ShowDialog(); filename = saveFileDialog.FileName; if (!String.IsNullOrEmpty(filename)) { Cursor.Current = Cursors.WaitCursor; DataTable datatable = new DataTable(); datatable.Clear(); datatable.Columns.Add(language.exportColumnCode); datatable.Columns.Add(language.exportColumnType); datatable.Columns.Add(language.exportColumnName); datatable.Columns.Add(language.exportColumnPrice); foreach (treatmentspriceslists treatmentspriceslist in _dentnedModel.TreatmentsPricesLists.List().OrderBy(r => r.treatmentspriceslists_name)) { datatable.Columns.Add(language.exportColumnPrice + "-" + treatmentspriceslist.treatmentspriceslists_id); } //add datatable columns foreach (treatments treatment in _dentnedModel.Treatments.List().OrderBy(r => r.treatments_code)) { DataRow row = datatable.NewRow(); row[language.exportColumnCode] = treatment.treatments_code; row[language.exportColumnType] = _dentnedModel.TreatmentsTypes.Find(treatment.treatmentstypes_id).treatmentstypes_name; row[language.exportColumnName] = treatment.treatments_name; row[language.exportColumnPrice] = treatment.treatments_price; foreach (treatmentspriceslists treatmentspriceslist in _dentnedModel.TreatmentsPricesLists.List().OrderBy(r => r.treatmentspriceslists_name)) { Nullable <decimal> price = null; treatmentsprices treatmentsprice = _dentnedModel.TreatmentsPrices.FirstOrDefault(r => r.treatments_id == treatment.treatments_id && r.treatmentspriceslists_id == treatmentspriceslist.treatmentspriceslists_id); if (treatmentsprice != null) { price = treatmentsprice.treatmentsprices_price; } row[language.exportColumnPrice + "-" + treatmentspriceslist.treatmentspriceslists_id] = price; } datatable.Rows.Add(row); } Cursor.Current = Cursors.Default; //export to excel DataSet dataset = new DataSet(); dataset.Tables.Add(datatable); if (!String.IsNullOrEmpty(filename)) { try { ExcelExporter.CreateWorkbook(filename, dataset); } catch { MessageBox.Show(String.Format(language.exportErrorMessage, filename), language.exportErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MessageBox.Show(language.exportSuccessMessage, language.exportSuccessTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { try { Process.Start(filename); } catch { } } } } }
public override void Execute(object parameter) { ExcelExporter.WriteToExcel(orderViewModel.Orders); }
private async void btn_ConvertFile_Click(object sender, RoutedEventArgs e) { string sourceFilePath = txt_SourceFilePath.Text; if (string.IsNullOrEmpty(sourceFilePath)) { MessageBox.Show("请选择要转换的文件!"); return; } string targetDire = txt_TargetDirPath.Text; if (string.IsNullOrEmpty(targetDire)) { MessageBox.Show("请选择目标文件夹!"); return; } if (!File.Exists(sourceFilePath)) { MessageBox.Show("转换的源文件不存在!"); return; } if (!Directory.Exists(targetDire)) { MessageBox.Show("目标文件夹不存在!"); return; } var columnSplitStr = this.txt_ColumnSplitStr.Text; if (string.IsNullOrEmpty(columnSplitStr)) { MessageBox.Show("列分隔符不能为空!"); return; } loadingBar.IsOpen = true; txt_Msg.Text = ""; dataTable = new DataTable(); var rowList = GetFileRows(sourceFilePath); await foreach (var row in rowList) { } var indexColumnName = txt_IndexColumnName.Text; if (dataTable != null && dataTable.Rows.Count > 0) { if (!string.IsNullOrEmpty(indexColumnName)) { dataTable.Columns.Add(indexColumnName, typeof(int)); for (var i = 0; i < dataTable.Rows.Count; i++) { dataTable.Rows[i][indexColumnName] = i + 1; } } } if (string.IsNullOrEmpty(txt_Msg.Text)) { txt_Msg.Text = $"总共{dataTable.Rows.Count}行"; var excelFileName = System.IO.Path.GetFileNameWithoutExtension(sourceFilePath) + ".xlsx"; var saveExcelPath = targetDire + "\\" + excelFileName; //var exportFileInfo = await Task.Run(async() => { var exporter = new ExcelExporter(); await exporter.Export(saveExcelPath, dataTable); MessageBox.Show("转换成功!"); }); } loadingBar.IsOpen = false; }
public string Export(Guid importTemplateID, IList listInvalidData, string outputPath) { string result = string.Empty; using (var context = new VnrHrmDataContext()) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); if (importTemplateID != Guid.Empty) { var importTemplate = unitOfWork.CreateQueryable<Cat_Import>(Guid.Empty, d => d.ID == importTemplateID).Select(d => new { d.StartColumnIndex, d.StartRowIndex, d.SheetIndex, d.ObjectName, d.TemplateFile }).FirstOrDefault(); var listImportItem = unitOfWork.CreateQueryable<Cat_ImportItem>(Guid.Empty, d => d.ImportID == ImportTemplateID && d.ExcelField != null && d.IsDelete == null).Select(d => new { d.ChildFieldLevel1, d.ChildFieldLevel2, d.ExcelField, d.AllowNull, d.AllowDuplicate, d.DuplicateGroup }).OrderBy(d => d.ExcelField).ToList(); ExcelExporter exporter = new ExcelExporter(); ExportTemplate template = new ExportTemplate(); template.TemplateID = importTemplateID; template.DataSource = listInvalidData; template.SheetIndex = (int)importTemplate.SheetIndex.GetLong(); template.StartRowIndex = (int)importTemplate.StartRowIndex.GetLong(); template.StartColumnIndex = (int)importTemplate.StartColumnIndex.GetLong(); Type objectType = GetAssembly(importTemplate.ObjectName); string templatepath = Common.GetPath(Common.TemplateURL).Replace("/", "\\"); template.TemplateFile = templatepath + "\\" + importTemplate.TemplateFile; string fileSuffix = DateTime.Now.ToString("yyyyMMddHHmmss"); string fileExt = Path.GetExtension(importTemplate.TemplateFile); fileExt = string.IsNullOrWhiteSpace(fileExt) ? "xls" : fileExt; fileExt = fileExt.StartsWith(".") ? fileExt : "." + fileExt; string filename = Path.GetFileNameWithoutExtension(importTemplate.TemplateFile); template.FileName = outputPath.Replace("/", "\\") + filename + fileSuffix + fileExt; foreach (var importItem in listImportItem) { string childFieldLevel1 = importItem.ChildFieldLevel1.TrimAll(); string childFieldLevel2 = importItem.ChildFieldLevel2.TrimAll(); PropertyInfo propertyType = objectType.GetProperty(childFieldLevel1); if (propertyType != null) { if (string.IsNullOrWhiteSpace(childFieldLevel2)) { template.MappingFields.Add(childFieldLevel1, importItem.ExcelField); } else { if (unitOfWork.IsMetadataType(propertyType.PropertyType)) { propertyType = propertyType.PropertyType.GetProperty(childFieldLevel2); string importFieldName = unitOfWork.GetFieldConstraint(objectType, childFieldLevel1); template.MappingFields.Add(importFieldName + "_" + childFieldLevel2, importItem.ExcelField); } } } } exporter.ExportByTemplate(template); result = template.FileName; } } return result; }
public async Task ExportBytesByTemplate_Test1() { //模板路径 var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", "template.xlsx"); //创建Excel导出对象 IExportFileByTemplate exporter = new ExcelExporter(); //导出路径 var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(ExportBytesByTemplate_Test1) + ".xlsx"); if (File.Exists(filePath)) { File.Delete(filePath); } var airCompressors = new List <AirCompressor> { new AirCompressor() { Name = "1#", Manufactor = "111", ExhaustPressure = "0", ExhaustTemperature = "66.7-95", RunningTime = "35251", WarningError = "正常", Status = "开机" }, new AirCompressor() { Name = "2#", Manufactor = "222", ExhaustPressure = "1", ExhaustTemperature = "90.7-95", RunningTime = "2222", WarningError = "正常", Status = "开机" } }; var afterProcessings = new List <AfterProcessing> { new AfterProcessing() { Name = "1#abababa", Manufactor = "杭州立山", RunningTime = "NaN", WarningError = "故障", Status = "停机" } }; var suggests = new List <Suggest> { new Suggest() { Number = 1, Description = "故障停机", SuggestMessage = "顾问团队远程协助" } }; //根据模板导出 var result = await exporter.ExportBytesByTemplate( new ReportInformation() { Contacts = "11112", ContactsNumber = "13642666666", CustomerName = "ababace", Date = DateTime.Now.ToString("yyyy年MM月dd日"), SystemExhaustPressure = "0.54-0.62", SystemDewPressure = "-0.63--77.5", SystemDayFlow = "201864", AirCompressors = airCompressors, AfterProcessings = afterProcessings, Suggests = suggests, SystemPressureHisotries = new List <SystemPressureHisotry>() }, tplPath); result.ShouldNotBeNull(); using (var file = File.OpenWrite(filePath)) { file.Write(result, 0, result.Length); } using (var pck = new ExcelPackage(new FileInfo(filePath))) { //检查转换结果 var sheet = pck.Workbook.Worksheets.First(); //确保所有的转换均已完成 sheet.Cells[sheet.Dimension.Address].Any(p => p.Text.Contains("{{")).ShouldBeFalse(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ucSelectCondition1_ExportEvent(object sender, EventArgs e) { if (ExcelExporter.CanExport(this.dataGridView1)) { string f = ExcelExporter.GenerateFileName(); ExcelExporter ee = new ExcelExporter(f, DataGridViewFormatters.DefaultDataFormatterCollection); //CCC ccc = CCCFactory.CreateGRDataCCC(this.dataGridView1); //ee.Export(dataGridView1, ccc); ee.Export(dataGridView1); //Process.Execute(f); ProcessStartInfo si = new ProcessStartInfo(f); si.ErrorDialog = true; Process.Start(si); } else { string s = string.Format("数据行数不能大于 {0}", ExcelExporter.MaxRowCount); NUnit.UiKit.UserMessage.DisplayFailure(s); } }
public HttpResponseMessage Export(ExportSettingsModel model) { ImplementationGuide ig = this.tdb.ImplementationGuides.SingleOrDefault(y => y.Id == model.ImplementationGuideId); if (model.TemplateIds == null) { model.TemplateIds = ig.GetRecursiveTemplates(this.tdb, categories: model.SelectedCategories.ToArray()).Select(y => y.Id).ToList(); } List <Template> templates = this.tdb.Templates.Where(y => model.TemplateIds.Contains(y.Id)).ToList(); SimpleSchema schema = SimplifiedSchemaContext.GetSimplifiedSchema(HttpContext.Current.Application, ig.ImplementationGuideType); IIGTypePlugin igTypePlugin = IGTypePluginFactory.GetPlugin(ig.ImplementationGuideType); IGSettingsManager igSettings = new IGSettingsManager(this.tdb, model.ImplementationGuideId); bool isCDA = ig.ImplementationGuideType.SchemaURI == "urn:hl7-org:v3"; string fileName; byte[] export; string contentType = null; switch (model.ExportFormat) { case ExportFormats.FHIR_Build_Package: case ExportFormats.FHIR_Bundle: case ExportFormats.Native_XML: case ExportFormats.Templates_DSTU_XML: string fileExtension = model.ReturnJson ? "json" : "xml"; contentType = model.ReturnJson ? JSON_MIME_TYPE : XML_MIME_TYPE; if (model.ExportFormat == ExportFormats.FHIR_Build_Package) { fileExtension = "zip"; contentType = ZIP_MIME_TYPE; } fileName = string.Format("{0}.{1}", ig.GetDisplayName(true), fileExtension); var pluginExporter = igTypePlugin.GetExporter(); export = pluginExporter.Export(this.tdb, schema, model.ExportFormat, igSettings, model.SelectedCategories, templates, model.IncludeVocabulary, model.ReturnJson); break; case ExportFormats.Snapshot_JSON: ImplementationGuideController ctrl = new ImplementationGuideController(this.tdb); var dataModel = ctrl.GetViewData(model.ImplementationGuideId, null, null, true); // Serialize the data to JSON var jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); jsonSerializer.MaxJsonLength = Int32.MaxValue; export = System.Text.Encoding.UTF8.GetBytes(jsonSerializer.Serialize(dataModel)); // Set the filename to JSON fileName = string.Format("{0}.json", ig.GetDisplayName(true)); contentType = JSON_MIME_TYPE; break; case ExportFormats.Microsoft_Word_DOCX: ImplementationGuideGenerator generator = new ImplementationGuideGenerator(this.tdb, model.ImplementationGuideId, model.TemplateIds); fileName = string.Format("{0}.docx", ig.GetDisplayName(true)); ExportSettings lConfig = new ExportSettings(); lConfig.Use(c => { c.GenerateTemplateConstraintTable = model.TemplateTables == TemplateTableOptions.ConstraintOverview || model.TemplateTables == TemplateTableOptions.Both; c.GenerateTemplateContextTable = model.TemplateTables == TemplateTableOptions.Context || model.TemplateTables == TemplateTableOptions.Both; c.GenerateDocTemplateListTable = model.DocumentTables == DocumentTableOptions.List || model.DocumentTables == DocumentTableOptions.Both; c.GenerateDocContainmentTable = model.DocumentTables == DocumentTableOptions.Containment || model.DocumentTables == DocumentTableOptions.Both; c.AlphaHierarchicalOrder = model.TemplateSortOrder == TemplateSortOrderOptions.AlphaHierarchically; c.DefaultValueSetMaxMembers = model.ValueSetTables ? model.MaximumValueSetMembers : 0; c.GenerateValueSetAppendix = model.ValueSetAppendix; c.IncludeXmlSamples = model.IncludeXmlSample; c.IncludeChangeList = model.IncludeChangeList; c.IncludeTemplateStatus = model.IncludeTemplateStatus; c.IncludeNotes = model.IncludeNotes; c.IncludeVolume1 = model.IncludeVolume1; c.SelectedCategories = model.SelectedCategories; c.GenerateRequiredAndOptionalSectionsTable = model.GenerateRequiredAndOptionalSectionsTable; c.DocumentTemplateTypeId = model.DocumentTemplateTypeId; c.SectionTemplateTypeId = model.SectionTemplateTypeId; }); if (model.ValueSetOid != null && model.ValueSetOid.Count > 0) { Dictionary <string, int> valueSetMemberMaximums = new Dictionary <string, int>(); for (int i = 0; i < model.ValueSetOid.Count; i++) { if (valueSetMemberMaximums.ContainsKey(model.ValueSetOid[i])) { continue; } valueSetMemberMaximums.Add(model.ValueSetOid[i], model.ValueSetMaxMembers[i]); } lConfig.ValueSetMaxMembers = valueSetMemberMaximums; } generator.BuildImplementationGuide(lConfig, ig.ImplementationGuideType.GetPlugin()); export = generator.GetDocument(); contentType = DOCX_MIME_TYPE; break; case ExportFormats.Schematron_SCH: string schematronResult = SchematronGenerator.Generate(tdb, ig, model.IncludeCustomSchematron, VocabularyOutputType.Default, model.VocabularyFileName, templates, model.SelectedCategories, model.DefaultSchematron); export = ASCIIEncoding.UTF8.GetBytes(schematronResult); fileName = string.Format("{0}.sch", ig.GetDisplayName(true)); contentType = XML_MIME_TYPE; if (model.IncludeVocabulary) { using (ZipFile zip = new ZipFile()) { zip.AddEntry(fileName, export); NativeTerminologyExporter nativeTermExporter = new NativeTerminologyExporter(this.tdb); byte[] vocData = nativeTermExporter.GetExport(ig.Id, model.MaximumValueSetMembers, this.GetExportEncoding(model)); string vocFileName = string.Format("{0}", model.VocabularyFileName); //Ensuring the extension is present in case input doesn't have it if (vocFileName.IndexOf(".xml") == -1) { vocFileName += ".xml"; } zip.AddEntry(vocFileName, vocData); using (MemoryStream ms = new MemoryStream()) { zip.Save(ms); fileName = string.Format("{0}.zip", ig.GetDisplayName(true)); contentType = ZIP_MIME_TYPE; export = ms.ToArray(); } } } break; case ExportFormats.Vocabulary_XLSX: fileName = string.Format("{0}.xlsx", ig.GetDisplayName(true)); contentType = XLSX_MIME_TYPE; ExcelExporter excelExporter = new ExcelExporter(this.tdb); export = excelExporter.GetSpreadsheet(ig.Id, model.MaximumValueSetMembers); break; case ExportFormats.Vocbulary_Single_SVS_XML: fileName = string.Format("{0}_SingleSVS.xml", ig.GetDisplayName(true)); contentType = XML_MIME_TYPE; SingleSVSExporter ssvsExporter = new SingleSVSExporter(this.tdb); export = ssvsExporter.GetExport(ig.Id, model.MaximumValueSetMembers, this.GetExportEncoding(model)); break; case ExportFormats.Vocabulary_Multiple_SVS_XML: fileName = string.Format("{0}_MultipleSVS.xml", ig.GetDisplayName(true)); contentType = XML_MIME_TYPE; MultipleSVSExporter msvsExporter = new MultipleSVSExporter(this.tdb); export = msvsExporter.GetExport(ig.Id, model.MaximumValueSetMembers, this.GetExportEncoding(model)); break; case ExportFormats.Vocabulary_Native_XML: fileName = string.Format("{0}_MultipleSVS.xml", ig.GetDisplayName(true)); contentType = XML_MIME_TYPE; NativeTerminologyExporter nativeExporter = new NativeTerminologyExporter(this.tdb); export = nativeExporter.GetExport(ig.Id, model.MaximumValueSetMembers, this.GetExportEncoding(model)); break; case ExportFormats.Web_HTML: // Get the data from the API controller HtmlExporter exporter = new HtmlExporter(this.tdb); var templateIds = templates.Select(y => y.Id).ToArray(); var htmlDataModel = exporter.GetExportData(ig.Id, null, templateIds, model.IncludeInferred); IGController igController = new IGController(this.tdb); var downloadPackage = igController.GetDownloadPackage(ig, JsonConvert.SerializeObject(htmlDataModel)); export = downloadPackage.Content; fileName = downloadPackage.FileName; contentType = ZIP_MIME_TYPE; break; case ExportFormats.Vocbulary_Bundle_FHIR_XML: ValueSetExporter vsExporter = new ValueSetExporter(this.tdb); var bundle = vsExporter.GetImplementationGuideValueSets(ig); if (model.ReturnJson) { export = fhir_stu3.Hl7.Fhir.Serialization.FhirSerializer.SerializeResourceToJsonBytes(bundle); fileName = string.Format("{0}_fhir_voc.json", ig.GetDisplayName(true)); contentType = JSON_MIME_TYPE; } else { export = fhir_stu3.Hl7.Fhir.Serialization.FhirSerializer.SerializeResourceToXmlBytes(bundle); fileName = string.Format("{0}_fhir_voc.xml", ig.GetDisplayName(true)); contentType = XML_MIME_TYPE; } break; default: throw new NotSupportedException(); } return(GetExportResponse(fileName, contentType, export)); }
public void Initialize() { this.exporter = new ExcelExporter(); }