public void Export(BilancioFenealgest.DomainLayer.Rendiconto current, ExcelSearchCriteria criteria) { DTORendiconto r = null; if (_settings.DateToExport != null && _settings.DateToExport > DateTime.MinValue) { r = current.CreateDtoRendicontoWithSaldiInizialiBancaAtDate(_settings.DateToExport); } else { r = current.CreateDtoRendicontoWithSaldiInizialiBanca(); } //lancio l'evento dfi inizio esportazione BeginExportBilancio(this, new EventArgs()); ScriviBilancio(1, r, criteria); //////WriteWorkersWorkbook(1, "Lavoratori", list); if (_settings.StampaPreventivo) { //lancio l'evento dfi inizio esportazione BeginExportPreventivo(this, new EventArgs()); ScriviBilancio(2, r, criteria); } if (_settings.StampaStatoPatrimoniale) { //lancio l'evento dfi inizio esportazione BeginExportStatoPatrimoniale(this, new EventArgs()); ScriviStatoPatrimoniale(3, current.StatoPatrimoniale, r); } }
private void ScriviBilancio(int workBookindex, DTORendiconto r, ExcelSearchCriteria criteria) { try { if (_handler.ExcelInstance == null) { //'creo una nuova istanza di excel _handler.OpenExcelApplication(true); } if (_handler.CurrentWorkbook == null) //'Aggiungo un nuovo documento ad excel { _handler.AddDocumentToExcel(_model); //'lo attivo _handler.ActivateWorkBook(); } //'seleziono lo sheet di interesse _handler.SelectSheetByIndex(workBookindex); _handler.FindReplaceCellValue(3, 26, "#prop#", r.Proprietario, true, OfficeExcelHandler.FindMode.Table); _handler.FindReplaceCellValue(54, 26, "#prop#", r.Proprietario, true, OfficeExcelHandler.FindMode.LockRow); if (workBookindex == 2) { _handler.FindReplaceCellValue(3, 26, "#anno#", (r.Anno + 1).ToString(), true, OfficeExcelHandler.FindMode.Table); _handler.FindReplaceCellValue(54, 26, "#anno#", (r.Anno + 1).ToString(), true, OfficeExcelHandler.FindMode.LockRow); } else { _handler.FindReplaceCellValue(3, 26, "#anno#", r.Anno.ToString(), true, OfficeExcelHandler.FindMode.Table); _handler.FindReplaceCellValue(54, 26, "#anno#", r.Anno.ToString(), true, OfficeExcelHandler.FindMode.LockRow); } foreach (DTORendicontoItem item in r.Items) { if (item.IdNodo != "") { if (workBookindex == 1) { // if (item.IdNodo.StartsWith("E") || item.IdNodo.StartsWith("P") || item.IdNodo.StartsWith("A")) _handler.FindReplaceCellValue(criteria.MaxRowPrimaColonna, criteria.MaxColPrimaColonna, "#" + item.IdNodo + "#", item.ImportoBilancio.ToString("c"), false, criteria.FindMode); // else _handler.FindReplaceCellValue(criteria.MaxRowSecondaColonna, criteria.MaxColSecondaColonna, "#" + item.IdNodo + "#", item.ImportoBilancio.ToString("c"), false, criteria.FindMode); } else { // if (item.IdNodo.StartsWith("E") || item.IdNodo.StartsWith("P") || item.IdNodo.StartsWith("A")) _handler.FindReplaceCellValue(criteria.MaxRowPrimaColonna, criteria.MaxColPrimaColonna, "#" + item.IdNodo + "#", item.ImportoPreventivo.ToString("c"), false, criteria.FindMode); // else _handler.FindReplaceCellValue(criteria.MaxRowSecondaColonna, criteria.MaxColSecondaColonna, "#" + item.IdNodo + "#", item.ImportoPreventivo.ToString("c"), false, criteria.FindMode); } } } //_handler.FindReplaceCellValue(10, 3, "Quote", "Pubblicità", false); //_handler.FillExcelCell(c.Row, c.Column, h); } catch (Exception) { _handler.Dispose(); throw; } }