public void SetReportSettingInfo() { for (var i = 0; i < ReportSettingList.Count; i++) { var reportSetting = new ReportSetting(); reportSetting = ReportSettingList[i]; if (reportSetting.IsText != 1) { var comboCell = (ComboBoxCell)grid.Rows[i].Cells[1]; reportSetting.ItemKey = comboCell.Value.ToString(); reportSetting.ItemValue = comboCell.DisplayText.ToString(); } else { var textCell = (GcTextBoxCell)grid.Rows[i].Cells[2]; if (textCell.Value == null || textCell.Value == DBNull.Value || string.IsNullOrEmpty(textCell.Value.ToString())) { reportSetting.ItemKey = string.Empty; } else { reportSetting.ItemKey = textCell.Value.ToString(); } } ReportSettingList[i] = reportSetting; } }
public void Print(ReportSetting ReportSetting, PrintingArgument PrintingArgument, IEnumerable Data, Func <object, object> ExtensionFunction) { ReportDocument reportDocument = new ReportDocument(); string templateFilePath = $"{AppDomain.CurrentDomain.BaseDirectory}{Path.DirectorySeparatorChar}Report{Path.DirectorySeparatorChar}{ReportSetting.TemplateName}"; reportDocument.Load(templateFilePath); reportDocument.SetDataSource(Data); PageMargins margins = reportDocument.PrintOptions.PageMargins; margins.bottomMargin = PrintingArgument.BottomMargin; margins.leftMargin = PrintingArgument.LeftMargin; margins.rightMargin = PrintingArgument.RightMargin; margins.topMargin = PrintingArgument.TopMargin; reportDocument.PrintOptions.ApplyPageMargins(margins); reportDocument.PrintOptions.PrinterName = ReportSetting.Printer; if (ExtensionFunction != null) { ExtensionFunction(reportDocument); } reportDocument.PrintToPrinter(PrintingArgument.NumberOfCopies, PrintingArgument.IsCollated, PrintingArgument.StartPageNumber, PrintingArgument.EndPageNumber); }
public void Execute() { var reportSetting = DatabaseInstance.Query <ReportSetting>("select * from reportsettings where reportType=@ReportType", new { ReportType = this.GetType().FullName }).FirstOrDefault(); if (reportSetting == null) { reportSetting = new ReportSetting { ReportType = this.GetType().FullName, Value = "2011-6-1", IsEnabled = true }; reportSetting.ReportSettingId = DatabaseInstance.Insert(reportSetting, "reportsettings"); } if (!reportSetting.IsEnabled) { return; } DateTime lastTime = DateTime.Parse(reportSetting.Value).Date; while (lastTime.Date < DateTime.Now.Date) { using (var tran = DatabaseInstance.BeginTransaction()) { OnExecute(lastTime); reportSetting.Value = lastTime.ToString("yyyy-MM-dd"); DatabaseInstance.Update(reportSetting, "reportsettings"); tran.Commit(); } lastTime = lastTime.AddDays(1); } }
public ReportSetting GetReportSetting(string ID) { ReportSetting reportSetting = null; string sqlCommandText = ModuleConfiguration.SQL_CMD_GetReportSettingById; var dbResult = this.dmlOperable.ExeReader(sqlCommandText, new Dictionary <string, object>() { { "@ID", long.Parse(ID) } }); if (dbResult != null && dbResult.Count == 1) { reportSetting = new ReportSetting() { ID = dbResult[0]["ID"].ToString(), Title = (string)dbResult[0]["Title"], Template = new Attachment() { ID = (string)dbResult[0]["@TemplateID"] }, AutoPrintOnAlarm = (int?)dbResult[0]["AutoPrintOnAlarm"], AutoPrintOnMeasurement = (int?)dbResult[0]["AutoPrintOnMeasurement"], Printer = (string)dbResult[0]["Printer"], TemplateName = (string)dbResult[0]["TemplateName"] }; } return(reportSetting); }
public ReportViewerFrm(ReportSetting reportSetting) { this.reportSetting = reportSetting; InitializeComponent(); //this.rptViewer.LocalReport.ReportEmbeddedResource = "WareBrowserReports.reports." + reportSetting.ReportFilePath; this.rptViewer.LocalReport.ReportPath = reportSetting.ReportFilePath; }
private void btnDelete_Click(object sender, EventArgs e) { if (this.lstvReportName.SelectedItems.Count > 0) { ReportSetting itemToDelete = null; foreach (ReportSetting item in reportSettingList) { if (item.ReportName == lstvReportName.SelectedItems[0].Text) { itemToDelete = item; } } if (itemToDelete == null) { return; } if (CommonHelper.ShowConfirmBox(string.Format("是否删除报表'{0}'的设定文件?", itemToDelete.ReportName), "确认删除")) { try { reportSettingList.Remove(itemToDelete); File.Delete(itemToDelete.SettingFilePath); this.lastSelectedIndex = -1; lstvReportName.Items.Remove(lstvReportName.SelectedItems[0]); loadReportNameCombo(); } catch (Exception ex) { CommonHelper.ShowErrorBox("删除报表设定文件时发生错误。" + ex.Message); } } } }
/// <summary> /// Метод по созданию файла конфигурации отчёта. /// </summary> public static void CreateReportSetting() { List <ReportSetting> ReportSettings = new List <ReportSetting>(); for (int confID = 1; confID < 4; confID++) { ReportSetting reportSetting = new ReportSetting(); reportSetting.ConfigurationID = confID; reportSetting.DirectoryIdOnRows = 1; // Берём "Объекты строительства" reportSetting.DirectoryIdOnColumns = 2; // Берём "Версии данных" // По заданию - справочник по строкам – «Объекты строительства» с атрибутами «Код объекта» и «Наименование» reportSetting.AttributesOfDirectoryOnRows.Add("Code"); reportSetting.AttributesOfDirectoryOnRows.Add("Name"); // По заданию - справочник по столбцам – «Версии данных» (возьмём только атрибут "Наименование", чтобы вывести столбцы Версия 1 Версия 2 Версия 3) reportSetting.AttributesOfDirectoryOnColumns.Add("Name"); // Добавляем в коллекцию настроек ReportSettings.Add(reportSetting); } // Сериализуем и в файлик "ReportSettings-1.json", где 1 - пусть будет номер конфигурации string queryListForWriting = JsonConvert.SerializeObject(ReportSettings); using (StreamWriter sw = new StreamWriter("ReportSettings_new.json", false, Encoding.UTF8)) { sw.WriteLine(queryListForWriting); } }
public EasyReportService(ReportSetting reportSettings, MailSetting mailSettings) { this.reportSetting = reportSettings; this.mailSetting = mailSettings; this.logger = NLog.LogManager.GetCurrentClassLogger(); this.connectionStrings = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString(); reportSetting.logger = this.logger; }
public DeviceSetting() { Scanner = new ScannerSetting(); CashDrawer = new CashDrawerSetting(); CustomerDisplay = new CustomerDisplaySetting(); Report = new ReportSetting(); Receipt = new ReceiptSetting(); Msr = new MsrSetting(); }
/// <summary> /// update pagesize /// </summary> /// <param name="address">Address</param> public virtual void UpdateReportSetting(ReportSetting report) { if (report == null) { throw new ArgumentNullException(nameof(report)); } _reportSettingRepository.Update(report); }
private void lstvReportName_AfterLabelEdit(object sender, LabelEditEventArgs e) { if (e.Label == null) { return; } ReportSetting item = reportSettingList[e.Item]; item.ReportName = e.Label; }
public void SetGridTemplate() { if (UseForeignCurrency) { ReportSettingList = ReportSettingList.Where(x => x.ItemId != "ReportUnitPrice").ToList(); } if (FromCustomerLedger && !UseSection) { ReportSettingList = ReportSettingList.Where(x => x.DisplayOrder != DisplaySectionCode).ToList(); } grid.RowCount = ReportSettingList.Count; for (var i = 0; i < ReportSettingList.Count; i++) { var reportSetting = new ReportSetting(); reportSetting = ReportSettingList[i]; var settingList = new List <Setting>(); settingList = reportSetting.SettingList; var textCellName = (GcTextBoxCell)grid.Rows[i].Cells[0]; textCellName.Value = reportSetting.Caption; if (reportSetting.IsText != 1) { var comboCellValue = (ComboBoxCell)grid.Rows[i].Cells[1]; comboCellValue.Items.Clear(); comboCellValue.DataSource = settingList; comboCellValue.ValueMember = "ItemKey"; comboCellValue.DisplayMember = "ItemValue"; comboCellValue.Value = reportSetting.ItemKey; grid.Rows[i].Cells[2].Visible = false; } else { var textCellValue = (GcTextBoxCell)grid.Rows[i].Cells[2]; if (reportSetting.Caption == ReportDueCommentName) { textCellValue.Value = !string.IsNullOrEmpty(reportSetting.ItemKey) ? reportSetting.ItemKey : ReportDueCommentValue; } else { textCellValue.Value = reportSetting.ItemKey; } grid.Rows[i].Cells[1].Visible = false; } } }
private IList <ReportSetting> getReportSettingList(string[] fileList) { List <ReportSetting> tempList = new List <ReportSetting>(); XmlDocument doc = new XmlDocument(); for (int i = 0; i < fileList.Length; ++i) { string reportName = string.Empty; Stream stream = null; try { XmlSerializer serializer = new XmlSerializer(typeof(ReportSetting)); stream = File.Open(fileList[i], FileMode.Open, FileAccess.Read); ReportSetting reportSetting = serializer.Deserialize(stream) as ReportSetting; reportSetting.SettingFilePath = fileList[i]; tempList.Add(reportSetting); } catch { //ignore exception } } ReportMappingCollection collection = getReportMappingCollection(); IList <ReportSetting> reportSettingList = new List <ReportSetting>(); foreach (report_mapping mapping in collection) { foreach (ReportSetting reportSetting in tempList) { if (reportSetting.ReportName == mapping.ExternalName) { reportSettingList.Add(reportSetting); } } } //foreach (ReportSetting reportSetting in reportSettingList) //{ // tempList.Remove(reportSetting); //} //foreach (ReportSetting reportSetting in tempList) //{ // File.Delete(reportSetting.SettingFilePath); //} return(reportSettingList); }
public DataTable BuildReport(ReportSetting reportSetting, IEnumerable<ConstructionObject> constructionObjects, IEnumerable<DataVersion> dataVersions) { DataTable mockDataTable = new DataTable(); mockDataTable.Columns.Add("One", typeof(int)); mockDataTable.Columns.Add("Two", typeof(int)); mockDataTable.Columns.Add("Three", typeof(int)); mockDataTable.Columns.Add("Four", typeof(int)); mockDataTable.Rows.Add(new object[] { 1, 2, 3, 4 }); mockDataTable.Rows.Add(new object[] { 2, 3, 4, 5 }); mockDataTable.Rows.Add(new object[] { 3, 4, 5, 6 }); mockDataTable.Rows.Add(new object[] { 4, 5, 6, 7 }); mockDataTable.Rows.Add(new object[] { 5, 6, 7, 8 }); return mockDataTable; }
private void btnAdd_Click(object sender, EventArgs e) { string reportName = this.cmbReportName.Text; if (reportName == string.Empty) { return; } bool doesExist = false; foreach (ReportSetting item in reportSettingList) { if (item.ReportName == reportName) { doesExist = true; break; } } if (doesExist) { CommonHelper.ShowWarningBox(string.Format("已经存在名为'{0}'的报表设定文件", reportName)); return; } try { ReportSetting reportSetting = new ReportSetting(reportName, string.Empty, new PrintSetting()); saveToXml(reportSetting); this.reportSettingList.Add(reportSetting); this.lstvReportName.Items.Add(reportName); foreach (ListViewItem listViewItem in this.lstvReportName.SelectedItems) { listViewItem.Selected = false; } this.lstvReportName.Items[this.lstvReportName.Items.Count - 1].Selected = true; this.cmbReportName.Text = string.Empty; loadReportNameCombo(); } catch (Exception ex) { CommonHelper.ShowErrorBox("创建新的报表设定文件时发生错误。" + ex.Message); } }
public void ReloadAll() { for (var i = 0; i < ReportSettingList.Count; i++) { var reportSetting = new ReportSetting(); reportSetting = ReportSettingList[i]; if (reportSetting.IsText != 1) { var comboCell = (ComboBoxCell)grid.Rows[i].Cells[1]; comboCell.Value = reportSetting.ItemKey; } else { var textCell = (GcTextBoxCell)grid.Rows[i].Cells[2]; textCell.Value = reportSetting.ItemKey; } } }
public async Task <IActionResult> Post([FromBody] ReportSettingApi item) { if (!ModelState.IsValidUpdated()) { return(new BadRequestObjectResult(ModelState)); } var dbReferenceType = 0; if (SettingApi.ReferenceTypes.Group.Equals(item.ReferenceType, StringComparison.InvariantCultureIgnoreCase)) { dbReferenceType = 10; } else if (SettingApi.ReferenceTypes.Task.Equals(item.ReferenceType, StringComparison.InvariantCultureIgnoreCase)) { dbReferenceType = 20; } else { ModelState.AddModelError("item.ReferenceType", "Invalid Report Settings Reference Type."); return(new BadRequestObjectResult(ModelState)); } var reportSetting = await DbContext.ReportSettings.Where(s => s.PartitionId == CurrentPartitionId && s.ReferenceType == dbReferenceType && s.ReferenceKey == item.ReferenceKey).FirstOrDefaultAsync(); if (reportSetting == null) { reportSetting = new ReportSetting { PartitionId = CurrentPartitionId, ReferenceType = dbReferenceType, ReferenceKey = item.ReferenceKey, }; DbContext.ReportSettings.Add(reportSetting); } await MapDeltaValuesAndCleanWhiteSpace(item, reportSetting, new string[] { "ReferenceType", "ReferenceKey" }, updateNulls : true); await DbContext.SaveChangesAsync(); return(Ok()); }
public Task <ReportSetting> SaveAsync(ReportSetting setting, CancellationToken token = default(CancellationToken)) { var query = @" INSERT INTO ReportSetting ( CompanyId , ReportId , DisplayOrder , ItemId , ItemKey ) OUTPUT inserted.* VALUES (@CompanyId ,@ReportId ,@DisplayOrder ,@ItemId ,@ItemKey )"; return(dbHelper.ExecuteAsync <ReportSetting>(query, setting, token)); }
private XmlDocument createXmlDocument(ReportSetting item) { XmlDocument doc = new XmlDocument(); doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null)); XmlNode root = doc.AppendChild(doc.CreateElement("report_setting")); root.AppendChild(doc.CreateElement("report_name")).InnerText = item.ReportName; root.AppendChild(doc.CreateElement("report_file_path")).InnerText = item.PrintSetting.ReportFilePath; root.AppendChild(doc.CreateElement("printer_name")).InnerText = item.PrintSetting.PrinterName; root.AppendChild(doc.CreateElement("paper_name")).InnerText = item.PrintSetting.PaperName; root.AppendChild(doc.CreateElement("paper_width")).InnerText = item.PrintSetting.PaperWidth; root.AppendChild(doc.CreateElement("paper_height")).InnerText = item.PrintSetting.PaperHeight; root.AppendChild(doc.CreateElement("margin_top")).InnerText = item.PrintSetting.MarginTop; root.AppendChild(doc.CreateElement("margin_bottom")).InnerText = item.PrintSetting.MarginBottom; root.AppendChild(doc.CreateElement("margin_left")).InnerText = item.PrintSetting.MarginLeft; root.AppendChild(doc.CreateElement("margin_right")).InnerText = item.PrintSetting.MarginRight; root.AppendChild(doc.CreateElement("orientation")).InnerText = item.PrintSetting.Orientation; return(doc); }
private void saveToXml(ReportSetting reportSetting) { Stream stream = null; try { if (reportSetting.SettingFilePath == string.Empty) { reportSetting.SettingFilePath = generateReportSettingFileName(); } XmlSerializer serializer = new XmlSerializer(typeof(ReportSetting)); stream = File.Open(reportSetting.SettingFilePath, FileMode.Create, FileAccess.Write); serializer.Serialize(stream, reportSetting); } finally { if (stream != null) { stream.Close(); } } }
public string AddReportSetting(ReportSetting Setting) { //if (Setting == null || string.IsNullOrEmpty(Setting.ID)) //{ // throw new IDNullException("报告设置ID不可为空!"); //} string sqlCommandText = ModuleConfiguration.SQL_CMD_InsertReportSetting; this.dmlOperable.ExeSql(sqlCommandText, new Dictionary <string, object>() { //{ "@ID", long.Parse(Setting.ID)}, { "@Title", Setting.Title }, { "@TemplateID", Setting.Template.ID }, { "@Printer", Setting.Printer }, { "@AutoPrintOnAlarm", Setting.AutoPrintOnAlarm }, { "@AutoPrintOnMeasurement", Setting.AutoPrintOnMeasurement }, { "@TemplateName", Setting.TemplateName } }); return(GenerateReportSettingID(0)); //Setting.ID; }
public ReportSetting UpdateReportSetting(string ID, ReportSetting Setting) { if (Setting == null || string.IsNullOrEmpty(ID)) { throw new IDNullException("报告设置ID不可为空!"); } string sqlCommandText = ModuleConfiguration.SQL_CMD_UpdateReportSetting; this.dmlOperable.ExeSql(sqlCommandText, new Dictionary <string, object>() { { "@ID", long.Parse(ID) }, { "@Title", Setting.Title }, { "@TemplateID", Setting.Template.ID }, { "@Printer", Setting.Printer }, { "@AutoPrintOnAlarm", Setting.AutoPrintOnAlarm }, { "@AutoPrintOnMeasurement", Setting.AutoPrintOnMeasurement }, { "@TemplateName", Setting.TemplateName } }); return(Setting); }
public static WebbDataSource GetDefaultDataSource() { string dir = Webb.Utility.ApplicationDirectory + @"Template\Styles\StyleReports"; if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } string DataSourceFile = string.Format(@"{0}\data.wrdf", dir); WebbDataSource dataSource = WrdfFileManager.ReadDataConfig(DataSourceFile, ""); if (dataSource != null) { WebbDataProvider provider = new WebbDataProvider(); ReportSetting.SetDataSource(provider, dataSource); } return(dataSource); }
public async Task <ActionResult <IEnumerable <ReportSetting> > > GetItems(ReportSetting setting, CancellationToken token = default(CancellationToken)) => (await reportSettingProcessor.GetAsync(setting.CompanyId, setting.ReportId, token)).ToArray();
private void AddIDsToReport(IEnumerable <object> directory, string directoryNameByColumns, ReportSetting reportSetting, ref DataTable report) { foreach (object record in directory) { // Получим ИД данной записи в справочнике int id = (int)GetObjectPropertyValueByAttrName(record, "ID"); foreach (string attr in reportSetting.AttributesOfDirectoryOnColumns) { string columnName = Convert.ToString(GetObjectPropertyValueByAttrName(record, attr)); foreach (DataRow recordReport in report.Rows) { // Проапдейтим формат: // "<первая буква справочника по строкам><ид записи справочника по строкам> - <первая буква справочника по столбцам><ид записи справочника по столбцам>" recordReport[columnName] += $" - {directoryNameByColumns.First()}{id}"; } } } }
/// <summary> /// Основной метод по построению отчёта. /// </summary> /// <param name="reportSetting">Настройки для построения отчёта.</param> /// <param name="constructionObjects">Справочник "Объекты строительства".</param> /// <param name="dataVersions">Справочник "Версия данных".</param> /// <returns>DataTable с данными отчёта.</returns> public DataTable BuildReport(ReportSetting reportSetting, IEnumerable <ConstructionObject> constructionObjects, IEnumerable <DataVersion> dataVersions) { // Строим отчёт. Считаем, что в настройках разработчики указали верный набор параметров атрибутов для справочников. DataTable report = new DataTable(); string directoryNameByColumns = GetDirectoryNameByID(reportSetting.DirectoryIdOnColumns); string directoryNameByRows = GetDirectoryNameByID(reportSetting.DirectoryIdOnRows); // Добавим столбцы к таблице отчёта. // Учтём, что у двух справочников могут быть одни и те же имена атрибутов, и добавим префикс в виде имени справочника. reportSetting.AttributesOfDirectoryOnRows.ForEach(attr => { report.Columns.Add($"{directoryNameByRows}-{attr}"); }); // Если по столбцам, надо вставить все поля указанного атрибута в таблицу как столбец: reportSetting.AttributesOfDirectoryOnColumns.ForEach(attr => { // Смотрим, из какого справочника надо взять данные if (reportSetting.DirectoryIdOnColumns == 1) { // Если 1, берём объекты строительства AddDirectoryColumnToReport(constructionObjects, attr, ref report); } else if (reportSetting.DirectoryIdOnColumns == 2) { // Если 2, берём версииДанных AddDirectoryColumnToReport(dataVersions, attr, ref report); } }); // Добавим данные в таблицу отчёта. Принцип тот же - проверим какой справочник как надо загрузить if (reportSetting.DirectoryIdOnRows == 1) { // Если 1, берём объекты строительства в строки отчёта AddRowsToReport(constructionObjects, directoryNameByRows, reportSetting, ref report); } else if (reportSetting.DirectoryIdOnRows == 2) { // Если 2, берём версииДанных AddRowsToReport(dataVersions, directoryNameByRows, reportSetting, ref report); } // Теперь пройдёмся по таблице отчёта, и внесём в отчёт иды другого транспонированного справочника: if (reportSetting.DirectoryIdOnColumns == 1) { // Если 1, берём Иды строительства в строки отчёта AddIDsToReport(constructionObjects, directoryNameByColumns, reportSetting, ref report); } else if (reportSetting.DirectoryIdOnColumns == 2) { // Если 2, берём берём Иды версииДанных AddIDsToReport(dataVersions, directoryNameByColumns, reportSetting, ref report); } // Уберём лишнее из названий заголовков таблицы foreach (DataColumn column in report.Columns) { if (column.ColumnName.Contains("-")) { column.ColumnName = column.ColumnName.Split("-")[1]; } } return(report); }
private void AddRowsToReport(IEnumerable <object> directory, string directoryName, ReportSetting reportSetting, ref DataTable report) { foreach (object record in directory) { DataRow rowForAdd = report.NewRow(); foreach (string attr in reportSetting.AttributesOfDirectoryOnRows) { // Берём указанный в настройках атрибут rowForAdd[$"{directoryName}-{attr}"] = GetObjectPropertyValueByAttrName(record, attr); } // Получим ИД данной записи в справочнике int id = (int)GetObjectPropertyValueByAttrName(record, "ID"); // Добавим в столбцы транспонированной матрицы идентификаторы строки, с указанием того, что это Иды этого справочника int startCol = reportSetting.AttributesOfDirectoryOnRows.Count; int endCol = report.Columns.Count; for (int index = startCol; index < endCol; index++) { // Формат строк транспонированной матрицы "<первая буква справочника><ид записи справочника>" rowForAdd[index] = $"{directoryName.First()}{id}"; } report.Rows.Add(rowForAdd); } }
//初始化报表列设置 private void InitLstReportSetting() { this.LstReportSetting = ReportSetting.GetList("AMO.Reports.CtrlRoundRollReport", "zh-CN"); //重新构造表结构 this.BuildTableStructure(); }
public string Build(ReportSetting setting) { // you can use setting.CarMake and setting.CarModel }
public async Task <ActionResult> GetAsync(int reportSettingID = 1) { try { IEnumerable <ConstructionObject> constructionObjects; IEnumerable <DataVersion> dataVersions; using (var client = new HttpClient()) { HttpResponseMessage response; string requestResult = string.Empty; bool IsNeedtest = false; if (IsNeedtest) { // Этот метод делает все воможные запросы к сервису DirectoryService (чисто в рамках демонстрации) await Utils.TestDirectoryServiceApiAsync(urlSettings); } // Запрашиваем весь справочник "Объекты Строительства" response = await client.GetAsync($"{urlSettings.ConstructionObjectUrl}GetAllDirectory"); constructionObjects = await response.Content.ReadAsAsync <IEnumerable <ConstructionObject> >(); // Запрашиваем весь справочник "Версии данных" response = await client.GetAsync($"{urlSettings.DataVersionUrl}GetAllDirectory"); dataVersions = await response.Content.ReadAsAsync <IEnumerable <DataVersion> >(); } // Берём из настроек конфигурацию отчёта ReportSetting reportSetting = new ReportSetting(); try { var reportSettingCol = reportSettings.Where(set => set.ConfigurationID == reportSettingID); if (reportSettingCol.Any()) { reportSetting = reportSettingCol.First(); } else { // Если настойка не найдена, говорим 404. return(this.StatusCode(404)); } } catch (Exception ex) { } // Билдим отчёт. DataTable report = reportBuilder.BuildReport(reportSetting, constructionObjects, dataVersions); return(View("~/Views/ReportView.cshtml", report)); } catch (Exception ex) { // Что-то пошло не так, return(this.StatusCode(500)); // TODO: пишем в логи ошибку } }
public static void Run() { // 郵便番号フォーマッタが設定されたSettingオブジェクトを用意します ReportSetting setting = new ReportSetting(); setting.TextFormatterMap.Add("yubin", new YubinTextFormatter()); Report report = new Report(Json.Read("report\\example_extention.rrpt"), setting); report.Fill(new ReportDataSource(getDataTable())); ReportPages pages = report.GetPages(); // PDF出力 using (FileStream fs = new FileStream("output\\example_extention.pdf", FileMode.Create)) { // チェックボックスレンダラが設定されたSettingオブジェクトを用意します PdfRendererSetting pdfSetting = new PdfRendererSetting(); pdfSetting.ElementRendererMap.Add("checkbox", new PdfCheckBoxRenderer()); PdfRenderer renderer = new PdfRenderer(fs, pdfSetting); renderer.Setting.ReplaceBackslashToYen = true; pages.Render(renderer); } // XLS出力 using (FileStream fs = new FileStream("output\\example_extention.xls", FileMode.Create)) { // チェックボックスレンダラが設定されたSettingオブジェクトを用意します XlsRendererSetting xlsSetting = new XlsRendererSetting(); xlsSetting.ElementRendererMap.Add("checkbox", new XlsCheckBoxRenderer()); HSSFWorkbook workbook = new HSSFWorkbook(); XlsRenderer renderer = new XlsRenderer(workbook, xlsSetting); renderer.NewSheet("example_extention"); pages.Render(renderer); workbook.Write(fs); } // XLSX出力 using (FileStream fs = new FileStream("output\\example_extention.xlsx", FileMode.Create)) { // チェックボックスレンダラが設定されたSettingオブジェクトを用意します XlsxRendererSetting xlsxSetting = new XlsxRendererSetting(); xlsxSetting.ElementRendererMap.Add("checkbox", new XlsxCheckBoxRenderer()); XSSFWorkbook workbook = new XSSFWorkbook(); XlsxRenderer renderer = new XlsxRenderer(workbook, xlsxSetting); renderer.NewSheet("example_extention"); pages.Render(renderer); workbook.Write(fs); } // プレビュー { // チェックボックスレンダラが設定されたSettingオブジェクトを用意します GdiRendererSetting gdiSetting = new GdiRendererSetting(); gdiSetting.ElementRendererMap.Add("checkbox", new GdiCheckBoxRenderer()); FmPrintPreview preview = new FmPrintPreview(new Printer(pages, gdiSetting)); preview.StartUpZoomFit = true; preview.ShowDialog(); } }