private void toolStripButton10_Click(object sender, EventArgs e)// Нажали кнопку експорт в Ексель { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); ExcelApp.SheetsInNewWorkbook = 1; Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); string[,] dtValue = new string[dataGridView1.Rows.Count + 1, dataGridView1.ColumnCount]; for (int i = 0; i < dataGridView1.ColumnCount; i++) // подписываем столбики { dtValue[0, i] = dataGridView1.Columns[i].HeaderText; // } for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) // { for (int j = 0; j < dataGridView1.ColumnCount; j++) { dtValue[i + 1, j] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } } ExcelWorkSheet.get_Range("B3", "T" + (dataGridView1.Rows.Count + 2).ToString()).Value2 = dtValue; //ExcelWorkSheet.get_Range("B3", "T" + (dataGridView1.Rows.Count + 2).ToString()).NumberFormat = "@"; //ExcelWorkSheet.get_Range("B3", "T" + (dataGridView1.Rows.Count + 2).ToString()).Font.Name = "Microsoft Sans Serif"; //ExcelWorkSheet.get_Range("B3", "T" + (dataGridView1.Rows.Count + 2).ToString()).Font.Size = 10; //ExcelWorkSheet.get_Range("F", "F" + (dataGridView1.Rows.Count + 2).ToString()).NumberFormat = "0.00"; //Вызываем нашу созданную эксельку. ExcelApp.Visible = true; ExcelApp.UserControl = true; }
private void toolStripButton4_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); ExcelApp.SheetsInNewWorkbook = 1; Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); string[,] dtValue = new string[dataGridView2.Rows.Count + 1, dataGridView2.ColumnCount]; dtValue[0, 0] = dataGridView2.Columns[0].HeaderText; // dtValue[0, 1] = dataGridView2.Columns[1].HeaderText; // dtValue[0, 2] = dataGridView2.Columns[2].HeaderText; // for (int i = 0; i < dataGridView2.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView2.ColumnCount; j++) { dtValue[i + 1, j] = dataGridView2.Rows[i].Cells[j].Value.ToString(); } } ExcelWorkSheet.get_Range("B3", "D" + (dataGridView2.Rows.Count + 2).ToString()).Value2 = dtValue; ExcelWorkSheet.get_Range("B3", "D" + (dataGridView2.Rows.Count + 2).ToString()).NumberFormat = "@"; ExcelWorkSheet.get_Range("B3", "D" + (dataGridView2.Rows.Count + 2).ToString()).Font.Name = "Microsoft Sans Serif"; ExcelWorkSheet.get_Range("B3", "D" + (dataGridView2.Rows.Count + 2).ToString()).Font.Size = 10; //Вызываем нашу созданную эксельку. ExcelApp.Visible = true; ExcelApp.UserControl = true; }
public String ObtienePestañaEmpresa(ExcelWorkBook wb, string nombreEmpresa, int numeroHojas, string cuc) { string nombreSheet; int rowIndex; object[] row; rowIndex = 13;//13 for (int i = 1; i <= numeroHojas; i++) { //ot6891 inicio ExcelWorkSheet sheet = wb.GetSheet(i + 1); //ot6891 fin nombreSheet = sheet.getName(); if (nombreSheet.Equals(nombreEmpresa)) { row = sheet.GetRow(rowIndex++, 'B', 'O'); while (row[0] != null) { if (row[0].ToString().Trim().Equals(cuc)) { return(row[7].ToString().Trim()); } row = sheet.GetRow(rowIndex++, 'B', 'O'); } } } return(""); }
/* Экспорт в *.xlsx */ private void btn_Export_Click(object sender, EventArgs e) { this.Enabled = false; label3.Visible = true; Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); Workbook ExcelWorkBook; Worksheet ExcelWorkSheet; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); //Таблица. ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); for (int i = 3; i < dgv_Keywords.ColumnCount; i++) { ExcelApp.Cells[i - 2] = dgv_Keywords.Columns[i].HeaderText; ExcelWorkSheet.Columns[i + 1].ColumnWidth = 12; ExcelWorkSheet.Columns[i + 1].Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter; } for (int i = 0; i < dgv_Keywords.Rows.Count; i++) { for (int j = 3; j < dgv_Keywords.ColumnCount; j++) { ExcelApp.Cells[i + 2, j - 2] = dgv_Keywords.Rows[i].Cells[j].Value; } } ExcelWorkSheet.get_Range("A1", "A1").Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter; ExcelWorkSheet.get_Range("B1", "B1").Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter; ExcelWorkSheet.get_Range("C1", "C1").Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter; ExcelWorkSheet.Columns[1].ColumnWidth = 30; ExcelWorkSheet.Columns[2].ColumnWidth = 30; ExcelWorkSheet.Columns[3].ColumnWidth = 50; saveFileDialog1.Filter = "Excel(*.xlsx)|*.xlsx|All files(*.*)|*.*"; saveFileDialog1.FileName = "Keyword Book 1"; if (saveFileDialog1.ShowDialog() == DialogResult.Cancel) { ExcelWorkBook.Close(false); } else { // получаем выбранный файл string filename = saveFileDialog1.FileName; ExcelWorkBook.SaveAs(filename); ExcelWorkBook.Close(false); MessageBox.Show("Успешно сохранено!", "Успех"); } label3.Visible = false; this.Enabled = true; }
// Не используется. private void WriteToXlsx() { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); if (ExcelApp == null) { MessageBox.Show("Excel не установлен!"); return; } Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); for (int i = 1; i < dataGridView2.Columns.Count + 1; i++) { ExcelWorkSheet.Cells[1, i] = dataGridView2.Columns[i - 1].HeaderText; } for (int i = 0; i < dataGridView2.Rows.Count; i++) { for (int j = 0; j < dataGridView2.Columns.Count; j++) { if (j == 3 || j == 4) { M = Convert.ToDouble(dataGridView2.Rows[i].Cells[j].Value.ToString()); ExcelWorkSheet.Cells[i + 2, j + 1] = M; } else if (j == 14) { M = Convert.ToDouble(dataGridView2.Rows[i].Cells[j].Value); ExcelWorkSheet.Cells[i + 2, j + 1] = M; } else { ExcelWorkSheet.Cells[i + 2, j + 1] = dataGridView2.Rows[i].Cells[j].Value.ToString(); } } } ExcelWorkSheet.get_Range("A1", "S1").Interior.Color = Color.LightGray; ExcelWorkSheet.get_Range("A1", "C1").EntireColumn.ColumnWidth = 30; ExcelWorkSheet.get_Range("D1", "E1").EntireColumn.ColumnWidth = 18; ExcelWorkSheet.get_Range("F1", "F1").EntireColumn.ColumnWidth = 15; ExcelWorkSheet.get_Range("G1", "I1").EntireColumn.ColumnWidth = 18; ExcelWorkSheet.get_Range("J1", "L1").EntireColumn.ColumnWidth = 15; ExcelWorkSheet.get_Range("M1", "R1").EntireColumn.ColumnWidth = 18; ExcelWorkSheet.get_Range("S1", "S1").EntireColumn.ColumnWidth = 21; ExcelWorkSheet.get_Range("A1", "S1").Font.Bold = true; ExcelWorkSheet.get_Range("A1", "S1").HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; ExcelWorkSheet.get_Range("A1", "S1").Borders.Color = System.Drawing.Color.Black.ToArgb(); ExcelApp.Visible = true; }
public ExcelWorkSheet AddWorksheet(ExcelCellWrapper[] rows, string worksheetName, string headerStyle, Dictionary <string, string> headerMap, bool isDao) { foreach (ExcelCellWrapper cell in rows) { ValidateStyles(cell); } ExcelWorkSheet worksheet = new ExcelWorkSheet(rows, headerMap); worksheet.WorkSheetName = worksheetName; worksheet.objects = rows; worksheet.headerStyle = headerStyle; worksheet.isDao = isDao; worksheets.Add(worksheetName, worksheet); return(worksheet); }
private void toolStripButton2_Click_1(object sender, EventArgs e) // Нажали кнопку Экспортировать в Ексель dataGridView1 ---------------------------------------------- { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); ExcelApp.SheetsInNewWorkbook = 1; Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); string[,] dtValue = new string[dataGridView1.Rows.Count + 1, dataGridView1.ColumnCount]; dtValue[0, 0] = dataGridView1.Columns[0].HeaderText; // dtValue[0, 1] = dataGridView1.Columns[1].HeaderText; // dtValue[0, 2] = dataGridView1.Columns[2].HeaderText; // dtValue[0, 3] = dataGridView1.Columns[3].HeaderText; // dtValue[0, 4] = dataGridView1.Columns[4].HeaderText; // dtValue[0, 5] = dataGridView1.Columns[5].HeaderText; // dtValue[0, 6] = dataGridView1.Columns[6].HeaderText; // dtValue[0, 7] = dataGridView1.Columns[7].HeaderText; // dtValue[0, 8] = dataGridView1.Columns[8].HeaderText; // dtValue[0, 9] = dataGridView1.Columns[9].HeaderText; // dtValue[0, 10] = dataGridView1.Columns[10].HeaderText; // dtValue[0, 11] = dataGridView1.Columns[11].HeaderText; // dtValue[0, 12] = dataGridView1.Columns[12].HeaderText; // dtValue[0, 13] = dataGridView1.Columns[13].HeaderText; // dtValue[0, 14] = dataGridView1.Columns[14].HeaderText; // dtValue[0, 15] = dataGridView1.Columns[15].HeaderText; // dtValue[0, 16] = dataGridView1.Columns[16].HeaderText; // dtValue[0, 17] = dataGridView1.Columns[17].HeaderText; // dtValue[0, 18] = dataGridView1.Columns[18].HeaderText; // dtValue[0, 19] = dataGridView1.Columns[19].HeaderText; // dtValue[0, 20] = dataGridView1.Columns[20].HeaderText; // dtValue[0, 21] = dataGridView1.Columns[21].HeaderText; // dtValue[0, 22] = dataGridView1.Columns[22].HeaderText; // dtValue[0, 23] = dataGridView1.Columns[23].HeaderText; // dtValue[0, 24] = dataGridView1.Columns[24].HeaderText; // dtValue[0, 25] = dataGridView1.Columns[25].HeaderText; // dtValue[0, 26] = dataGridView1.Columns[26].HeaderText; // dtValue[0, 27] = dataGridView1.Columns[27].HeaderText; // dtValue[0, 28] = dataGridView1.Columns[28].HeaderText; // for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) // { for (int j = 0; j < dataGridView1.ColumnCount; j++) { dtValue[i + 1, j] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } } ExcelWorkSheet.get_Range("A1", "AC" + (dataGridView1.Rows.Count + 1).ToString()).Value2 = dtValue; ExcelWorkSheet.get_Range("A1", "AC" + (dataGridView1.Rows.Count + 1).ToString()).NumberFormat = "@"; ExcelWorkSheet.get_Range("A1", "AC" + (dataGridView1.Rows.Count + 1).ToString()).Font.Name = "Microsoft Sans Serif"; ExcelWorkSheet.get_Range("A1", "AC" + (dataGridView1.Rows.Count + 1).ToString()).Font.Size = 10; ExcelWorkSheet.get_Range("A1", "AC" + (dataGridView1.Rows.Count + 1).ToString()).Columns.ColumnWidth = 20; ExcelWorkSheet.get_Range("A1", "A1").Rows.RowHeight = 30; //ExcelWorkSheet.Range["A1", "AC"].HorizontalAlignment = Excel.Constants.xlCenter; //ExcelWorkSheet.Range["A1", "AC"].VerticalAlignment = Excel.Constants.xlCenter; //ExcelWorkSheet.get_Range("A1", "AC").Rows.Font.Bold = true; //Вызываем нашу созданную эксельку. ExcelApp.Visible = true; ExcelApp.UserControl = true; //Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); //Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; //Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; //ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);//Книга //ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); //Таблица //for (int i = -1; i < dataGridView1.Rows.Count; i++) //{ // for (int j = 0; j < dataGridView1.ColumnCount; j++) // { // if (i == -1) // ExcelApp.Cells[1, j + 1] = dataGridView1.Columns[j].Name; // else // ExcelApp.Cells[i +2, j + 1] = dataGridView1.Rows[i].Cells[j].Value; // } //} //ExcelApp.Visible = true; //Вызываем нашу созданную эксельку //ExcelApp.UserControl = true; }
/// <summary> /// Obtiene los registros de asientos tipo VT de ingresos a partir de un archivo Excel. /// </summary> /// <param name="dtAsientos">Tabla en la que se volcará la información de los asientos a generar.</param> /// <param name="archivo">Ruta y nombre del archivo Excel que contiene la información del reporte de ingresos para obtener los asientos.</param> public void ObtenerAsientosVTIngresos(Procesos.TD.Asiento.LISTA_ASIENTODataTable dtAsientos, string archivo) { Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("es-PE"); CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture; try { Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US"); ExcelApplication app = new ExcelApplication(); ExcelWorkBook wb = app.OpenWorkBook(archivo, ExcelMode.Full); ExcelWorkSheet sheet = wb.GetSheet(1); String fechaAsiento = sheet.GetString("G3"); //convertir a fecha DataTable dt = sheet.LeerTabla("B", "I", 5, sheet.ObtenerUltimaFilaTabla("B", 6), true); /*String factura = sheet.GetString("G2"); * string[] partesFactura = ObtenerPartesFactura(factura); * string numeros = partesFactura[0]; * string letras = partesFactura[1]; */ ParametrosDA parametrosDA = new ParametrosDA(); DataTable dtParametroRUC = parametrosDA.ObtenerValoresParametros(ConstantesING.TABLA_TIPO_DOCUMENTO, ConstantesING.TIPO_DOCUMENTO_RUC); String tipoDocumentoSunat = dtParametroRUC.Rows[0]["CAMPO1"].ToString(); //int correlativoFactura = Convert.ToInt32(numeros); wb.Close(); app.Close(); Hashtable ht = new Hashtable(); foreach (DataRow dr in dt.Rows) { string fondo = dr["Fondo"].ToString().Trim(); if (!ht.ContainsKey(fondo)) { Asiento.LISTA_ASIENTORow row = dtAsientos.NewLISTA_ASIENTORow(); //string numeroFactura = letras + correlativoFactura.ToString().PadLeft(numeros.Length, '0'); //correlativoFactura++; object total = dt.Compute("SUM(Ingresos)", "Fondo = '" + fondo + "'"); //object totalImpuesto = dt.Compute("SUM(IGV)", "Fondo = '" + fondo + "'"); object totalPN = dt.Compute("SUM(Ingresos)", "Fondo = '" + fondo + "' and TipoPersona = 'PN'"); //object impuestoPN = dt.Compute("SUM(IGV)", "Fondo = '" + fondo + "' and TipoPersona = 'PN'"); object totalPJ = dt.Compute("SUM(Ingresos)", "Fondo = '" + fondo + "' and TipoPersona = 'PJ'"); //object impuestoPJ = dt.Compute("SUM(IGV)", "Fondo = '" + fondo + "' and TipoPersona = 'PJ'"); //object subtotal = Convert.ToDecimal(total) - Convert.ToDecimal(totalImpuesto); object igv = dt.Compute("SUM(IGV)", "Fondo = '" + fondo + "'"); row.TIPO_ASIENTO = "VT_ING"; row.UUID = ""; row.ESTADO = ""; row.FONDO = fondo; row.FECHA_PROCESO = DateTime.ParseExact(fechaAsiento, "dd/MM/yyyy", CultureInfo.InvariantCulture).Date; row.ID_OPERACION = ""; row.MONEDA = dr["Moneda"].ToString() == "SOL" ? "PEN" : "USD"; row.TOTAL = total == null || total == DBNull.Value ? 0 : Decimal.Round(Convert.ToDecimal(total), 2); row.MONTO1 = total == null || total == DBNull.Value ? 0 : Decimal.Round(Convert.ToDecimal(total), 2); //row.MONTO2 = totalImpuesto == null || totalImpuesto == DBNull.Value ? 0 : Convert.ToDecimal(totalImpuesto); //row.MONTO3 = totalPN == null || totalPN == DBNull.Value ? 0 : Convert.ToDecimal(totalPN); //row.MONTO4 = totalPJ == null || totalPJ == DBNull.Value ? 0 : Convert.ToDecimal(totalPJ); row.MONTO2 = totalPN == null || totalPN == DBNull.Value ? 0 : Decimal.Round(Convert.ToDecimal(totalPN), 2); row.MONTO3 = totalPJ == null || totalPJ == DBNull.Value ? 0 : row.MONTO1 - row.MONTO2; row.MONTO4 = 0; row.MONTO5 = 0; //ABRIR EN CASO SE JUNTEN LOS MONTO 3 Y MONTO4 row.REFERENCIA = "";// numeroFactura; row.REFERENCIA1 = tipoDocumentoSunat; //row.MONTO3 = subtotal == null || subtotal == DBNull.Value ? 0 : Convert.ToDecimal(subtotal); row.TEXTO1 = row.FECHA_PROCESO.ToString("MM"); row.TEXTO2 = row.FECHA_PROCESO.ToString("yyyy"); DataTable dtFondo = parametrosDA.ObtenerValoresParametros(ConstantesING.FONDO, fondo); row.TIPO_DOCUMENTO = ConstantesING.TIPO_DOCUMENTO_RUC; row.CODIGO_CLIENTE = dtFondo.Rows[0]["CAMPO2"].ToString(); row.RAZON_SOCIAL = dtFondo.Rows[0]["CAMPO3"].ToString(); row.DIRECCION = ConfigurationSettings.AppSettings[ConstantesING.DIRECCION_FONDOS]; row.DISTRITO = ConfigurationSettings.AppSettings[ConstantesING.DISTRITO_FONDOS]; row.PROVINCIA = ConfigurationSettings.AppSettings[ConstantesING.PROVINCIA_FONDOS]; row.DEPARTAMENTO = ConfigurationSettings.AppSettings[ConstantesING.DEPARTAMENTO_FONDOS]; row.CODIGO_PAIS = ConstantesING.CODIGO_PERU; row.CORREO = ConfigurationSettings.AppSettings[ConstantesING.CORREO_FONDOS]; row.ID_PAIS = ConfigurationSettings.AppSettings[ConstantesING.ID_PAIS_FONDOS]; row.ID_DEPARTAMENTO = ConfigurationSettings.AppSettings[ConstantesING.ID_DEPARTAMENTO_FONDOS]; row.ID_CIUDAD = ConfigurationSettings.AppSettings[ConstantesING.ID_CIUDAD_FONDOS]; row.ID_DISTRITO = ConfigurationSettings.AppSettings[ConstantesING.ID_DISTRITO_FONDOS]; row.UBIGEO = ConfigurationSettings.AppSettings[ConstantesING.UBIGEO_FONDOS]; row.IGVF = Decimal.ToDouble(Decimal.Round(Convert.ToDecimal(igv), 2)); row.TOTALF = Decimal.ToDouble(row.TOTAL); row.SUBF = row.TOTALF - row.IGVF; dtAsientos.AddLISTA_ASIENTORow(row); ht.Add(fondo, fondo); } } da.Server = INGFondos.Constants.Conexiones.ServidorSAP; da.Database = INGFondos.Constants.Conexiones.BaseDeDatosSAP; da.ListarControlAsiento(dtAsientos, "VT_ING", DateTime.ParseExact(fechaAsiento, "dd/MM/yyyy", CultureInfo.InvariantCulture).Date); da.Server = INGFondos.Constants.Conexiones.ServidorOperaciones; da.Database = INGFondos.Constants.Conexiones.BaseDeDatosOperaciones; } catch (Exception ex) { throw ex; } finally { Thread.CurrentThread.CurrentCulture = originalCulture; } }
private void ExportButton_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); Workbook ExcelWorkBook; Worksheet ExcelWorkSheet; Range ExcelRange; object misValue = System.Reflection.Missing.Value; ExcelWorkBook = ExcelApp.Workbooks.Add(misValue); ExcelWorkSheet = (Worksheet)ExcelWorkBook.Worksheets.get_Item(1); ExcelWorkSheet.Columns.HorizontalAlignment = 3; ExcelWorkSheet.Cells[1, 1] = "Магазин"; ExcelWorkSheet.Cells[1, 2] = "Артикул"; ExcelWorkSheet.Cells[1, 3] = "Наименование"; ExcelWorkSheet.Cells[1, 4] = "1 нед. назад"; ExcelWorkSheet.Cells[1, 5] = "2 нед. назад"; ExcelWorkSheet.Cells[1, 6] = "3 нед. назад"; ExcelWorkSheet.Cells[1, 7] = "Прошл. ср. продажи"; ExcelWorkSheet.Cells[1, 8] = "1 нед. вперед"; ExcelWorkSheet.Cells[1, 9] = "2 нед. вперед"; ExcelWorkSheet.Cells[1, 10] = "3 нед. вперед"; ExcelWorkSheet.Cells[1, 11] = "Буд. ср. продажи"; ExcelWorkSheet.Cells[1, 12] = "Текущие продажи"; ExcelWorkSheet.Cells[1, 13] = "Потр. магазина"; ExcelWorkSheet.Cells[1, 14] = "Наличие"; ExcelWorkSheet.Cells[1, 15] = "Поставки"; ExcelWorkSheet.Cells[1, 16] = "Транзит"; ExcelWorkSheet.Cells[1, 17] = "Будет"; ExcelWorkSheet.Cells[1, 18] = "Минимум"; ExcelWorkSheet.Cells[1, 19] = "Максимум ср."; ExcelWorkSheet.Cells[1, 20] = "Максимум"; ExcelWorkSheet.Cells[1, 21] = "Прогноз"; ExcelWorkSheet.Cells[1, 22] = "Дельта"; ExcelWorkSheet.Cells[1, 23] = "SL"; ExcelWorkSheet.Cells[1, 24] = "Остаток на СГП"; ExcelWorkSheet.Cells[1, 25] = "ПЗ"; ExcelWorkSheet.Cells[1, 26] = "Будущие ПЗ"; ExcelWorkSheet.Cells[1, 27] = "Начало анализа"; ExcelWorkSheet.Cells[1, 28] = "Конец анализа"; object[,] objData = new object[PlanDataGrid.Rows.Count, PlanDataGrid.Columns.Count]; for (int j = 0; j < PlanDataGrid.Columns.Count; j++) { for (int i = 0; i < PlanDataGrid.Rows.Count; i++) { objData[i, j] = (j == 1 ? "'" : "") + PlanDataGrid.Rows[i].Cells[j].Value.ToString(); } } ExcelRange = ExcelWorkSheet.get_Range("A1", misValue); ExcelRange = ExcelRange.get_Resize(1, PlanDataGrid.Columns.Count); ExcelRange.Font.Bold = true; ExcelRange.AutoFilter(1, ExcelRange, XlAutoFilterOperator.xlAnd, misValue, true); ExcelRange = ExcelWorkSheet.get_Range("A2", misValue); ExcelRange = ExcelRange.get_Resize(PlanDataGrid.Rows.Count, PlanDataGrid.Columns.Count); ExcelRange.Value2 = objData; ExcelRange = ExcelWorkSheet.get_Range("A1", misValue); ExcelRange = ExcelRange.get_Resize(PlanDataGrid.Rows.Count + 1, PlanDataGrid.Columns.Count); ExcelRange.Borders.LineStyle = 1; ExcelRange.Columns.AutoFit(); ExcelRange.Rows.AutoFit(); ExcelApp.Interactive = true; ExcelApp.ScreenUpdating = true; ExcelApp.Visible = true; ExcelApp.UserControl = true; }
static void Main(string[] args) { SqlConnection sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["UMS"].ConnectionString); SqlCommand sqlCommand = new SqlCommand("SELECT * FROM ExcelGenerate", sqlConnection); SqlCommand sqlCommand2 = new SqlCommand("SELECT * FROM UserInfo", sqlConnection); SqlCommand sqlCommandDel = new SqlCommand("DELETE FROM ExcelGenerate", sqlConnection); /*sqlCommand.CommandType = CommandType.StoredProcedure;*/ /*sqlCommand.Parameters.AddWithValue("@UserId", userId);*/ sqlConnection.Open(); var reader = sqlCommand.ExecuteReader(); if (reader.Read()) { string fileName = reader.GetString(0); string sendEmailTo = reader.GetString(1); sqlConnection.Close(); sqlConnection.Open(); var getAll = sqlCommand2.ExecuteReader(); string OpenAtDownload = ""; /* System.Diagnostics.Debug.WriteLine("Is it empty: " + fileName.IsNullOrWhiteSpace()); * if (fileName == "" || fileName.IsNullOrWhiteSpace() == true) { fileName = "UserList"; }*/ if (fileName == "" || fileName == null) { fileName = "UserList"; } Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; object misValue = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Application ExcelExport = new Microsoft.Office.Interop.Excel.Application(); ExcelWorkBook = ExcelExport.Workbooks.Add(misValue); ExcelWorkSheet = ExcelWorkBook.Worksheets.get_Item(1); ExcelWorkSheet.Cells.NumberFormat = "@"; var rowColor = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow); ExcelWorkSheet.get_Range("A1", "K1").Interior.Color = rowColor; ExcelWorkSheet.get_Range("A1", "K1").Font.Bold = true; ExcelWorkSheet.Cells[1, 1] = "UserName"; ExcelWorkSheet.Cells[1, 2] = "FirstName"; ExcelWorkSheet.Cells[1, 3] = "LastName"; ExcelWorkSheet.Cells[1, 4] = "Email"; ExcelWorkSheet.Cells[1, 5] = "Address"; ExcelWorkSheet.Cells[1, 6] = "City"; ExcelWorkSheet.Cells[1, 7] = "Country"; ExcelWorkSheet.Cells[1, 8] = "ZipCode"; ExcelWorkSheet.Cells[1, 9] = "PhoneNumber"; ExcelWorkSheet.Cells[1, 10] = "Role"; ExcelWorkSheet.Cells[1, 11] = "Status"; /* var userInfoes = db.UserInfoes.Include(u => u.Role).Include(u => u.Status).Include(u => u.UserCredential); * userInfoes.ToList();*/ int row = 2; while (getAll.Read()) { ExcelWorkSheet.Cells[row, 1] = getAll.GetString(1); ExcelWorkSheet.Cells[row, 2] = getAll.GetString(2); ExcelWorkSheet.Cells[row, 3] = getAll.GetString(3); ExcelWorkSheet.Cells[row, 4] = getAll.GetString(4); ExcelWorkSheet.Cells[row, 5] = getAll.GetString(5); ExcelWorkSheet.Cells[row, 6] = getAll.GetString(6); ExcelWorkSheet.Cells[row, 7] = getAll.GetString(7); ExcelWorkSheet.Cells[row, 8] = getAll.GetString(8); ExcelWorkSheet.Cells[row, 9] = getAll.GetString(9); ExcelWorkSheet.Cells[row, 10] = getAll.GetInt32(10); ExcelWorkSheet.Cells[row, 11] = getAll.GetInt32(11); row++; } ExcelWorkSheet.Columns.AutoFit(); /*string isEmailSend = "";*/ sqlConnection.Close(); sqlConnection.Open(); try { ExcelWorkBook.SaveAs(fileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); if (sendEmailTo != null) { try { ExcelWorkBook.SendMail(sendEmailTo, "User List From the User Management System"); /*isEmailSend = "Email was sent.";*/ } catch { /*isEmailSend = "Email was not sent.";*/ } } if (OpenAtDownload == "true") { ExcelWorkBook.WebPagePreview(); /*System.Diagnostics.Process.Start($"E:/Documents/{fileName}.xls"); */ } /*ExcelWorkBook.WebPagePreview();*/ ExcelWorkBook.Close(true, misValue, misValue); ExcelExport.Quit(); Marshal.ReleaseComObject(ExcelWorkSheet); Marshal.ReleaseComObject(ExcelWorkBook); Marshal.ReleaseComObject(ExcelExport); sqlCommandDel.ExecuteReader(); sqlConnection.Close(); Environment.Exit(0); /*return RedirectToAction("Index", new { a = "Excel Document was created sucessfully and it should be available in your Documents folder.", color = "green", emailStatus = isEmailSend });*/ } catch { ExcelWorkBook.Close(true, misValue, misValue); ExcelExport.Quit(); Marshal.ReleaseComObject(ExcelWorkSheet); Marshal.ReleaseComObject(ExcelWorkBook); Marshal.ReleaseComObject(ExcelExport); /*System.Diagnostics.Debug.WriteLine("Excel Document was not created.");*/ sqlCommandDel.ExecuteReader(); sqlConnection.Close(); /*return RedirectToAction("Index", new { a = "Excel Document was not created.", color = "red", emailStatus = isEmailSend });*/ Environment.Exit(0); } } }
/// <summary> /// 指定されたExcelファイルを読み込む /// </summary> private void ReadExcel() { //Excelファイル選択し、選択されなければ終了。 if (this.openFileExcel.ShowDialog() != DialogResult.OK) { return; } Address_DS ads = new Address_DS(); Address_DS errords = new Address_DS(); // ExcelWorkBookオープン ExcelWorkBook wBook = new ExcelWorkBook(); wBook.Open(this.openFileExcel.FileName); try { //1行目を読み込む ExcelWorkSheet sheet = wBook.WorkSheets[0]; ArrayList columnList = new ArrayList(); for (int col = sheet.FirstColumn; col <= sheet.LastColumn; col++) { if (sheet.Cells[0, col].Value == null) { continue; } columnList.Add(sheet.Cells[0, col].Value); } //読み込み行がない場合は空のデータセットを返す。 if (columnList.Count == 0) { MessageBox.Show(this, "読み込み可能な行がありません。"); return; } using (ColumnSelectForm f = new ColumnSelectForm(columnList)) { //行選択画面を表示し、ユーザに読み込む行を指定してもらう if (f.ShowDialog() != DialogResult.OK) { //選択されなければ、空のデータセットを返す。 return; } int readStartRowIndex = 0; if (f.ReadFirstRow == true) { readStartRowIndex = 0; } else { readStartRowIndex = 1; } //ユーザが指定した列を読み込む for (int row = readStartRowIndex; row <= sheet.LastRow; row++) { //NULLやすでに取り込まれたメールアドレスははずす。 if (!((sheet.Cells[row, f.SelectColumnIndex].Value == null) || ads.Address.FindByMailAddress(sheet.Cells[row, f.SelectColumnIndex].Value.ToString()) != null)) { string mailAddr = sheet.Cells[row, f.SelectColumnIndex].Value.ToString(); //メールアドレス形式のアドレスのみ登録 if (TKMP.Writer.MailAddressCollection.IsAddressPattern(mailAddr) == true) { Address_DS.AddressRow aRow = ads.Address.NewAddressRow(); aRow.MailAddress = mailAddr; ads.Address.AddAddressRow(aRow); } else { //メールアドレス形式でないものは、エラーリストに保存 Address_DS.AddressRow aeRow = errords.Address.NewAddressRow(); aeRow.MailAddress = mailAddr; errords.Address.AddAddressRow(aeRow); } } } } } finally { // ExcelWorkBookクローズ wBook.Close(); } //Excelファイルを読み取る。 this._addressds.Merge(ads); //エラー情報をセットする。 this._errorForm.ErrorList = errords; }
public void Procesar() { ExcelApplication excelApplication = new ExcelApplication(); SqlConnection cn = GetConnection(); cn.Open(); SqlTransaction trans = cn.BeginTransaction(IsolationLevel.ReadUncommitted); try { // Abriendo el archivo que contiene la información //excelApplication.OpenWorkBook(sourcePath, ExcelMode.Full); excelApplication.OpenWorkBook(sourcePath, ExcelMode.ReadOnly); ExcelWorkSheet sheet = excelApplication.GetWorkBook(1).GetSheet(1); //Obtiene los prospectos vacios SegmentacionRegionalDA segmentacionRegionalDA = new SegmentacionRegionalDA(); // Obteniendo la información del archivo int rowIndex = 2; object[] row = sheet.GetRow(rowIndex++, 'A', 'B'); int contador = 0; while (row[0] != null) { try { //Leer datos del Partícipe ParticipeSegmentacionTD.PARTICIPE_SEGMENTACION_REGIONALRow drParticipeSegmentacion = new ParticipeSegmentacionTD().PARTICIPE_SEGMENTACION_REGIONAL.NewPARTICIPE_SEGMENTACION_REGIONALRow(); drParticipeSegmentacion.NUMERO_DOCUMENTO = row[0].ToString(); drParticipeSegmentacion.SEGMENTACION_REGIONAL = row[1].ToString(); drParticipeSegmentacion.USUARIO = codigoUsuario; segmentacionRegionalDA.ActualizarParticipeSegmentacion(drParticipeSegmentacion, cn, trans); row = sheet.GetRow(rowIndex++, 'A', 'B'); contador++; } catch (Exception ex) { throw new Exception(string.Format("Error en la línea {0}. Detalle " + ex.Message, rowIndex - 1)); } } trans.Commit(); //excelApplication.GetWorkBook(1).Save(); } catch (Exception ex) { trans.Rollback(); excelApplication.GetWorkBook(1).Close(); excelApplication.Close(); throw ex; } finally { trans.Dispose(); cn.Close(); } }
public void Procesar() { ExcelApplication excelApplication = new ExcelApplication(); CargaContratoDA da = new CargaContratoDA(); SqlConnection cn = GetConnection(); cn.Open(); SqlTransaction trans = cn.BeginTransaction(IsolationLevel.ReadUncommitted); int cucanterior = 0; int idanterior = 0; string prmVidaAhorro = ""; string prmCUC = ""; try { // Abriendo el archivo que contiene la información excelApplication.OpenWorkBook(sourcePath, ExcelMode.Full); ExcelWorkSheet sheet = excelApplication.GetWorkBook(1).GetSheet(1); //Obtiene los prospectos vacios CargaContratoDA cargaContratoDA = new CargaContratoDA(); DataTable dtProspectos = cargaContratoDA.ObtenerListaProspectosVacios(); // Obteniendo la información del archivo int rowIndex = 6; object[] row = sheet.GetRow(rowIndex++, 'C', 'Z', 4); int contador = 0; //OT 6891 inicio DataTable dtCodVida = ObtenerCodigoEmpresas_Vida(); string DSC_VIDA_AHORRO = ""; if (dtCodVida.Rows.Count > 0) { DataRow row1 = dtCodVida.Rows[0]; //Obtiene nombre de la empresa Vida Ahorro DSC_VIDA_AHORRO = Convert.ToString(row1["DESCRIPCION_LARGA"]); } DataTable dtPlanVidaAhorro = ObtenerPlanVidaAhorro(); string DSC_PLAN_VIDA_AHORRO = ""; if (dtPlanVidaAhorro.Rows.Count > 0) { DataRow row2 = dtPlanVidaAhorro.Rows[0]; //Obtiene nombre de la empresa Vida Ahorro DSC_PLAN_VIDA_AHORRO = Convert.ToString(row2["VALOR"]); } while (row[0] != null) { try { int idProspecto = Convert.ToInt32(sheet.GetString(string.Format("B{0}", rowIndex - 1))) - 44670000; int codigoProspecto = Convert.ToInt32(sheet.GetString(string.Format("B{0}", rowIndex - 1))); //Leer datos del Partícipe ParticipeTD.ParticipeRow drParticipe = new ParticipeTD().Participe.NewParticipeRow(); drParticipe.IDENTIFICADOR = Convert.ToInt32(sheet.GetString(string.Format("B{0}", rowIndex - 1))) - 44670000; drParticipe.CODIGO = Convert.ToInt32(sheet.GetString(string.Format("B{0}", rowIndex - 1))); // Ini - traer el CUC del Participe OT 6891 prmCUC = drParticipe.CODIGO.ToString(); // Fin - traer el CUC del Participe OT 6891 drParticipe.TIPO_PERSONA = row[71].ToString(); drParticipe.NOMBRE1 = row[2].ToString(); drParticipe.NOMBRE2 = row[3] == null ? "" : row[3].ToString(); drParticipe.NOMBRE3 = row[4] == null ? "" : row[4].ToString(); drParticipe.APELLIDO_PATERNO = row[5].ToString(); drParticipe.APELLIDO_MATERNO = row[6].ToString(); drParticipe.SEXO = row[72].ToString(); drParticipe.FECHA_NACIMIENTO = Convert.ToDateTime(row[8]); drParticipe.TIPO_DOCUMENTO = row[73].ToString(); drParticipe.NUMERO_DOCUMENTO = row[10].ToString(); drParticipe.TIPO_FIRMA = row[74].ToString(); drParticipe.TIPO_PARTICIPE = row[75].ToString(); drParticipe.ESTADO_CIVIL = row[76].ToString(); drParticipe.CODIGO_AGENCIA_ORIGEN = row[77] == null ? "" : row[77].ToString(); drParticipe.TIPO_PERSONERIA = row[78] == null ? "" : row[78].ToString(); drParticipe.SENAS_PARTICULARES = row[16] == null ? "" : row[16].ToString(); drParticipe.FLAG_RELACION_SURA = "N"; drParticipe.NACIONALIDAD = row[80].ToString(); drParticipe.PROFESION = row[18] == null ? "" : row[18].ToString(); drParticipe.COMPANIA = row[19] == null ? "" : row[19].ToString(); drParticipe.CARGO = row[20] == null ? "" : row[20].ToString(); drParticipe.NUMERO_HIJOS = row[21] == null ? 0 : Convert.ToInt32(row[21]); drParticipe.LUGAR_NACIMIENTO = row[81] == null ? null : row[81].ToString(); drParticipe.PAIS_RESIDENCIA = row[82].ToString(); drParticipe.NIVEL_CARGO = row[83] == null ? null : row[83].ToString(); drParticipe.GRADO_INSTRUCCION = row[84] == null ? null : row[84].ToString(); drParticipe.CAPACIDAD_LEGAL = row[85] == null ? null : row[85].ToString(); drParticipe.FLAG_CORRESPONDENCIA_EMAIL = row[27] == null ? "" : row[27].ToString(); drParticipe.FLAG_MEDIO_CONSULTAS = row[28] == null ? "" : row[28].ToString(); drParticipe.FLAG_MEDIO_OPERACIONES = row[29] == null ? "" : row[29].ToString(); drParticipe.TIPO_ATRIBUCION = row[100] == null ? null : row[100].ToString(); drParticipe.USUARIO = codigoUsuario; //INI OT 6891 // Tabla telefono ParticipeTD.TelefonoRow drTelefono = new ParticipeTD().Telefono.NewTelefonoRow(); drTelefono.NUMERO = row[31] == null ? "" : row[31].ToString(); //Tabla correo electronico ParticipeTD.Correo_EletronicoRow drCorreo = new ParticipeTD().Correo_Eletronico.NewCorreo_EletronicoRow(); drCorreo.CORREO = row[30] == null ? "" : row[30].ToString(); ParticipeTD.BoletinesRow drboletin = new ParticipeTD().Boletines.NewBoletinesRow(); drboletin.BOLETIN = row[32].ToString(); // Tabla direccion ParticipeTD.DireccionRow drDireccion = new ParticipeTD().Direccion.NewDireccionRow(); string pais = ""; pais = row[105].ToString(); if (row[103].Equals("") || row[103].Equals(null) || pais.Length > 5) { drDireccion.DEPARTAMENTO = 0; } else { drDireccion.DEPARTAMENTO = Convert.ToInt32(row[103]); } string ciud = ""; ciud = row[105].ToString(); if (row[104].Equals("") || row[104].Equals(null) || ciud.Length > 5) { drDireccion.CIUDAD = 0; } else { drDireccion.CIUDAD = Convert.ToInt32(row[104]); } string dist = ""; dist = row[105].ToString(); if (row[105].Equals("") || row[105].Equals(null) || dist.Length > 5) { drDireccion.DISTRITO = 0; } else { drDireccion.DISTRITO = Convert.ToInt32(row[105]); } // drDireccion.CIUDAD = Convert.ToInt32(row[104]); //**** // drDireccion.DISTRITO = Convert.ToInt32(row[105]); drDireccion.TIPO_VIA = row[106] == null ? "" : row[106].ToString(); drDireccion.NOMBRE_VIA = row[37] == null ? "" : row[37].ToString(); drDireccion.NU_IND_DEP = row[38] == null ? "" : row[38].ToString(); drDireccion.UBICACION = row[40] == null ? "" : row[40].ToString(); drDireccion.TIPO_UBICACION = row[107] == null ? "" : row[107].ToString(); //fin OT 6891 //Leer datos del Fondo ParticipeTD.FondoRow drFondo = new ParticipeTD().Fondo.NewFondoRow(); drFondo.ID_FONDO = Convert.ToInt32(row[87]); //OT5012 INI drFondo.FECHA = Convert.ToDateTime(row[43]); //Leer datos del documento ParticipeTD.DocumentoRow drDocumento = new ParticipeTD().Documento.NewDocumentoRow(); //OT5012 FIN drDocumento.TIPO = row[86].ToString(); drDocumento.FECHA = Convert.ToDateTime(row[43]); drDocumento.DESCRIPCION = row[44] == null ? "" : row[44].ToString(); drDocumento.CODIGO_IMAGEN = row[45] == null ? "" : row[45].ToString(); //Inicio OT 6891 // Cuenta Participacion CuentaParticipacionTD.CUENTA_PARTICIPACIONRow drCuentaParticipacion = new CuentaParticipacionTD().CUENTA_PARTICIPACION.NewCUENTA_PARTICIPACIONRow(); drCuentaParticipacion.VIDA_AHORRO = row[109] == null ? "" : row[109].ToString(); drCuentaParticipacion.CODIGO = prmCUC; drCuentaParticipacion.ETIQUETA = DSC_VIDA_AHORRO; prmVidaAhorro = drCuentaParticipacion.VIDA_AHORRO; drCuentaParticipacion.USUARIO_CREACION = codigoUsuario; drCuentaParticipacion.CODIGO_PLAN = DSC_PLAN_VIDA_AHORRO; // Fin OT 6891 ParticipeTD.ParticipeRow drParticipeAsociado = null; //Leer partícipe asociado if (drParticipe.TIPO_PERSONA.Equals("MAN") && cucanterior != codigoProspecto) { drParticipeAsociado = new ParticipeTD().Participe.NewParticipeRow(); drParticipeAsociado.TIPO_PERSONA = "NAT"; drParticipeAsociado.NOMBRE1 = row[47].ToString(); drParticipeAsociado.NOMBRE2 = row[48] == null ? "" : row[48].ToString(); drParticipeAsociado.NOMBRE3 = row[49] == null ? "" : row[49].ToString(); drParticipeAsociado.APELLIDO_PATERNO = row[50].ToString(); drParticipeAsociado.APELLIDO_MATERNO = row[51].ToString(); drParticipeAsociado.SEXO = row[72].ToString(); drParticipeAsociado.FECHA_NACIMIENTO = Convert.ToDateTime(row[53]); drParticipeAsociado.TIPO_DOCUMENTO = row[73].ToString(); drParticipeAsociado.NUMERO_DOCUMENTO = row[55].ToString(); drParticipeAsociado.TIPO_FIRMA = "IND"; drParticipeAsociado.TIPO_PARTICIPE = row[91].ToString(); drParticipeAsociado.ESTADO_CIVIL = row[92].ToString(); drParticipeAsociado.CODIGO_AGENCIA_ORIGEN = ""; // drParticipeAsociado.TIPO_PERSONERIA = ""; // drParticipeAsociado.SENAS_PARTICULARES = ""; // drParticipeAsociado.FLAG_RELACION_SURA = "N"; drParticipeAsociado.NACIONALIDAD = row[94].ToString(); drParticipeAsociado.PROFESION = row[61] == null ? "" : row[61].ToString(); drParticipeAsociado.COMPANIA = row[62] == null ? "" : row[62].ToString(); drParticipeAsociado.CARGO = row[63] == null ? "" : row[63].ToString(); drParticipeAsociado.NUMERO_HIJOS = row[64] == null ? 0 : Convert.ToInt32(row[64]); drParticipeAsociado.LUGAR_NACIMIENTO = row[95].ToString(); drParticipeAsociado.PAIS_RESIDENCIA = row[96].ToString(); drParticipeAsociado.NIVEL_CARGO = row[96].ToString(); drParticipeAsociado.GRADO_INSTRUCCION = row[99].ToString(); drParticipeAsociado.CAPACIDAD_LEGAL = row[99].ToString(); drParticipeAsociado.USUARIO = codigoUsuario; } //Partícipes NAT if (row[71].ToString().Equals("NAT")) { cargaContratoDA.registrarParticipe(drParticipe, drFondo, drDocumento, drCorreo, drTelefono, drboletin, drDireccion, cn, trans); // OT 6891 INICIO if (prmVidaAhorro.Equals("S")) { cargaContratoDA.RegistrarCuentaParticipacion_x_Participe(drCuentaParticipacion, prmCUC, codigoUsuario, cn, trans); } // FIN OT 6891 FIN DataTable dtPersona = cargaContratoDA.ObtenerPersona(drParticipe, cn, trans); if (dtPersona.Rows.Count == 0) { cargaContratoDA.registrarPersona(drParticipe, cn, trans); } else { cargaContratoDA.ActualizarPersona(drParticipe, cn, trans, "N"); cargaContratoDA.ActualizarParticipeXDocumento(drParticipe, cn, trans, "N"); } } //Partícipes MAN else { //Registra dos prospectos if (codigoProspecto != cucanterior) { String contrasenaCifrada = ""; String claveEncriptada = cargaContratoDA.ObtenerClaveEncriptada(cn, trans); String areaModificacion = "OPE"; String flagVerOperacion = "S"; String flagAccesoWeb = "S"; contrasenaCifrada = obtenerContrasenaCifrada(claveEncriptada); cargaContratoDA.registrarProspectos(drParticipe, contrasenaCifrada, areaModificacion, flagVerOperacion, flagAccesoWeb, cn, trans); //TITULAR contrasenaCifrada = obtenerContrasenaCifrada(claveEncriptada); cargaContratoDA.registrarProspectos(drParticipeAsociado, contrasenaCifrada, areaModificacion, flagVerOperacion, flagAccesoWeb, cn, trans); //ASOCIADO /*CARGA DE LA PERSONA DEL ASOCIADO*/ DataTable dtPersona = cargaContratoDA.ObtenerPersona(drParticipeAsociado, cn, trans); if (dtPersona.Rows.Count == 0) { cargaContratoDA.registrarPersona(drParticipeAsociado, cn, trans); } else { cargaContratoDA.ActualizarPersona(drParticipeAsociado, cn, trans, "S"); cargaContratoDA.ActualizarParticipeXDocumento(drParticipeAsociado, cn, trans, "S"); } int idParticipe = drParticipe.CODIGO - 44670000; int idProspectoTitular = drParticipe.IDENTIFICADOR; int idProspectoAsociado = drParticipeAsociado.IDENTIFICADOR; cargaContratoDA.actualizarParticipe(drParticipe, cn, trans); //REGISTRO DEL PARTICIPE MANCOMUNO /*CARGA DE LA PERSONA DEL TITULAR*/ dtPersona = cargaContratoDA.ObtenerPersona(drParticipe, cn, trans); if (dtPersona.Rows.Count == 0) { cargaContratoDA.registrarPersona(drParticipe, cn, trans); } else { cargaContratoDA.ActualizarPersona(drParticipe, cn, trans, "N"); cargaContratoDA.ActualizarParticipeXDocumento(drParticipe, cn, trans, "N"); } //REGISTRAMOS LA RELACION ENTRE EL TITULAR Y EL ASOCIADO decimal porcentajeTitular = decimal.MinValue; decimal porcentajeAsociado = decimal.MinValue; if (row[86] != null && row[86].ToString().Equals("DIS")) { porcentajeTitular = Convert.ToDecimal(row[101]) * 100; porcentajeAsociado = Convert.ToDecimal(row[102]) * 100; if (porcentajeTitular + porcentajeAsociado != 100) { throw new Exception("La suma de los porcentajes debe sumar 100%."); } cargaContratoDA.registrarParticipeXparticipe(idProspecto, idProspecto, codigoUsuario, porcentajeTitular, cn, trans); } cargaContratoDA.registrarParticipeXparticipe(idProspecto, idProspectoAsociado, codigoUsuario, porcentajeAsociado, cn, trans); } //OT5012 INI cargaContratoDA.registrarFondos(drFondo, idProspecto, codigoUsuario, cn, trans); //OT5012 FIN } // FIN OT 6891 //sheet.SetValue(string.Format("B{0}",rowIndex-1),codigoProspecto); cucanterior = codigoProspecto; idanterior = idProspecto; row = sheet.GetRow(rowIndex++, 'C', 'Z', 4); contador++; } catch (Exception ex) { throw new Exception(string.Format("Error en la línea {0}. Detalle " + ex.Message, rowIndex - 1)); } } trans.Commit(); excelApplication.GetWorkBook(1).Save(); excelApplication.Show(); } catch (Exception ex) { trans.Rollback(); excelApplication.GetWorkBook(1).Close(); excelApplication.Close(); throw ex; } finally { trans.Dispose(); cn.Close(); excelApplication.Close(); } }
public void PrepararPlantilla(string sourcePath, string savePath, string codigoUsuario) { ExcelApplication excelApplication = new ExcelApplication(); ExcelWorkBook workBook = null; workBook = excelApplication.OpenWorkBook(sourcePath, ExcelMode.Full); ExcelWorkSheet sheet = workBook.GetSheet(2); ExcelWorkSheet sheetCucs = workBook.GetSheet(3); //Obtiene los prospectos vacios CargaContratoDA cargaContratoDA = new CargaContratoDA(); DataTable dtProspectos = cargaContratoDA.ObtenerListaProspectosVacios(); sheetCucs.EscribirDatatable("B", 2, dtProspectos); DataTable dtDISTRITO = cargaContratoDA.ObtenerListaDistritos(); int indis = 2; foreach (DataRow dr in dtDISTRITO.Rows) { sheet.SetValue(string.Format("W{0}", indis), dr["NOMBRE"]); sheet.SetValue(string.Format("X{0}", indis), dr["ID"]); sheet.SetValue(string.Format("Y{0}", indis++), dr["CIUDAD"]); } FondoDA fondoDA = new FondoDA(); DataTable dtTiposDocumentos = fondoDA.ObtenerLista("TPDOCS"); int index = 2; foreach (DataRow dr in dtTiposDocumentos.Rows) { sheet.SetValue(string.Format("K{0}", index), dr["DESCRIPCION_LARGA"]); sheet.SetValue(string.Format("L{0}", index++), dr["LLAVE_TABLA"]); } index = 2; DataTable dtAgenciasOrigen = fondoDA.ObtenerLista("AGEORI"); foreach (DataRow dr in dtAgenciasOrigen.Rows) { sheet.SetValue(string.Format("H{0}", index), dr["DESCRIPCION_LARGA"]); sheet.SetValue(string.Format("I{0}", index++), dr["LLAVE_TABLA"]); } index = 2; DataTable dtFondos = cargaContratoDA.ObtenerListaFondos(); DataRow[] drFondos = dtFondos.Select("1=1", "NOMBRE"); foreach (DataRow dr in drFondos) { sheet.SetValue(string.Format("E{0}", index), dr["NOMBRE"]); sheet.SetValue(string.Format("F{0}", index++), dr["ID"]); } sheet.Hide(); excelApplication.GetWorkBook(1).SaveAs(savePath); workBook.Close(); excelApplication.Close(); workBook = excelApplication.OpenWorkBook(savePath, ExcelMode.Full); excelApplication.Show(); }
public ExcelWorkSheet AddWorksheet(ExcelCellWrapper[] rows, string worksheetName, string headerStyle, Dictionary<string, string> headerMap, bool isDao) { foreach (ExcelCellWrapper cell in rows) { ValidateStyles(cell); } ExcelWorkSheet worksheet = new ExcelWorkSheet(rows, headerMap); worksheet.WorkSheetName = worksheetName; worksheet.objects = rows; worksheet.headerStyle = headerStyle; worksheet.isDao = isDao; worksheets.Add(worksheetName, worksheet); return worksheet; }
public virtual void Dispose() { //Dispose EPPlus components ExcelWorkSheet?.Dispose(); ExcelPackage?.Dispose(); }
//OT 8372-PSC001 public void generarArchivoUnico(string rutaArchivo, string rutaArchivoDestino) { StringBuilder sbLinea; sbLinea = new StringBuilder(""); //StreamWriter sw = null; string path = rutaArchivo; System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); ExcelApplication excelApplication = new ExcelApplication(); ExcelWorkBook wb = excelApplication.OpenWorkBook(path, ExcelMode.Full); try { ConveniosPlanEmpleadorDA conveniosPlanEmpleadorDA = new ConveniosPlanEmpleadorDA(); string codigosEmpresas = "COD_EMP_CON"; DataTable dtCodigosEmpresas = conveniosPlanEmpleadorDA.ObtenerTablaGeneral(codigosEmpresas); int numeroEmpresas = dtCodigosEmpresas.Rows.Count; object[] row; int rowIndex; string codigoParticipacion; string nombreFondo; DataRow[] drFondo; DataTable dtFondosDepositos; DataRow[] drFondoDeposito; string idFondo; string codigoTablatablaGeneralDepositos = "FONDO_EQUIV"; string mes = ""; string anio = ""; string estadoFondos = "ACT"; DataTable dtFondos = conveniosPlanEmpleadorDA.ListarFondos(estadoFondos); if (numeroEmpresas == 0) { //no hay empresas } else { string periodo; string[] periodoElementos; string tipoMovimiento = "I"; string tipoAporte = ""; //"P" double montoAporte; string montoAporteCadena; string nombreEmpresa; bool existenRegistrosHoja = true; string codigoEmpresa = ""; string constanteCP = "CP_"; // int numeroHojas = numeroEmpresas * 2 + 1; int numeroHojas = 0; //OT 6891 inicio int cantidadHojas = wb.GetSheetCount(); if (cantidadHojas == 3) { numeroHojas = wb.GetSheetCount(); } else { numeroHojas = numeroEmpresas * 2 + 1; } //for (int i = 1; i <= numeroEmpresas; i++) for (int i = 1; i <= numeroHojas; i++) { //ExcelWorkSheet sheet = wb.GetSheet(i + 1); //Toma a partir de la 4ta hoja porque las 3 primeras son plantillas vacías. //ExcelWorkSheet sheet = wb.GetSheet(i + 1); //Toma a partir de la 4ta hoja porque las 3 primeras son plantillas vacías. // OT 6891 ExcelWorkSheet sheet = null; if (cantidadHojas == 3) { sheet = wb.GetSheet(i); } else { sheet = wb.GetSheet(i + 1); } // OT 6891 fin nombreEmpresa = sheet.getName(); if (nombreEmpresa.StartsWith(constanteCP)) { //StreamWriter sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + nombreEmpresa + "_" + anio + mes + ".txt"); StreamWriter sw = null; String estadoCabecera; //if (i == 1) //{ periodo = sheet.GetString("B8").Substring(4, 10); periodoElementos = periodo.Split('/'); anio = periodoElementos[2].Trim(); mes = periodoElementos[1].Trim(); //} codigoEmpresa = sheet.GetString("B1").Trim(); DataTable dtDetalleConvenio = conveniosPlanEmpleadorDA.ObtenerDetalleConvenios(codigoEmpresa, Convert.ToInt32(mes), Convert.ToInt32(anio)); rowIndex = 13;//13 //row = sheet.GetRow(rowIndex++, 'B', 'J'); //OT 6134 row = sheet.GetRow(rowIndex++, 'B', 'E'); int cont = 0; while (row[0] != null) { //if (row[8].ToString().Trim() == "EFE") //if (row[3].ToString().Trim() == "EFE") estadoCabecera = ObtienePestañaEmpresa(wb, nombreEmpresa.Substring(constanteCP.Length), numeroHojas, row[0].ToString().Substring(0, 8)); if (estadoCabecera == "EFE") { if (existenRegistrosHoja) { codigoEmpresa = sheet.GetString("B1").Trim(); //OT 8372-PSC001 INICIO //sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + nombreEmpresa.Substring(3, nombreEmpresa.Length - 3) + "_" + codigoEmpresa + "_" + anio + mes + ".txt"); sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + "T" + "_" + nombreEmpresa.Substring(3, nombreEmpresa.Length - 3) + "_" + codigoEmpresa + "_" + anio + mes + ".txt"); //OT 8372-PSC001 FIN existenRegistrosHoja = false; } //codigoParticipacion = row[1].ToString().Trim(); codigoParticipacion = row[0].ToString().Trim(); //nombreFondo = row[7].ToString().Trim();//OT 6134 nombreFondo = row[1].ToString().Trim(); //montoAporte = Convert.ToDouble(row[6].ToString().Trim()); //OT 6134 montoAporte = Convert.ToDouble(row[2].ToString().Trim()); //OT 6134 string filtro = "CODIGO = '" + codigoParticipacion + "' AND FONDO = '" + nombreFondo + "' AND MONTO_CONCEPTO = " + montoAporte.ToString(); DataRow[] dDetalleConvenio = dtDetalleConvenio.Select(filtro, "ID_CONVENIO"); //Decimal idConvenio =0; Decimal idConvenioDetalle = 0; foreach (DataRow dr in dDetalleConvenio) { //if (idConvenio == 0|| idConvenio > 0 && idConvenio == Convert.ToDecimal(dr["ID_CONVENIO"])) if (idConvenioDetalle == 0 || idConvenioDetalle > 0 && idConvenioDetalle == Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"])) { idConvenioDetalle = Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"]); sbLinea.Append(codigoParticipacion.Replace("-", "").Trim()); drFondo = dtFondos.Select("NOMBRE = '" + nombreFondo + "'"); dtFondosDepositos = conveniosPlanEmpleadorDA.ObtenerTablaGeneralDepositos(codigoTablatablaGeneralDepositos); idFondo = drFondo[0]["ID"].ToString(); drFondoDeposito = dtFondosDepositos.Select("DESCRIPCION_CORTA = '" + idFondo + "'"); sbLinea.Append(drFondoDeposito[0]["LLAVE_TABLA"].ToString()); sbLinea.Append(anio + mes); sbLinea.Append(tipoMovimiento); tipoAporte = dr["CODIGO_CONCEPTO"].ToString().Trim(); sbLinea.Append(tipoAporte); montoAporte = Convert.ToDouble(dr["MONTO_CONCEPTO"]); montoAporteCadena = montoAporte.ToString("000000.00"); montoAporteCadena = montoAporteCadena.Replace(".", ""); sbLinea.Append(montoAporteCadena); sw.WriteLine(sbLinea); sbLinea.Length = 0; } else { break; } } for (int j = dtDetalleConvenio.Rows.Count - 1; j >= 0; --j) { DataRow drDetalleConvenio = dtDetalleConvenio.Rows[j]; if (idConvenioDetalle == Convert.ToDecimal(drDetalleConvenio["ID_CONVENIO_DETALLE"])) { dtDetalleConvenio.Rows.Remove(drDetalleConvenio); } } } //row = sheet.GetRow(rowIndex++, 'B', 'J');//OT 6134 row = sheet.GetRow(rowIndex++, 'B', 'E'); cont = cont + 1; } if (cont > 0) { if (sw != null) { sw.Close(); } } existenRegistrosHoja = true; } } } } catch (Exception ex) { throw ex; } finally { wb.Close(); excelApplication.Close(); System.Threading.Thread.CurrentThread.CurrentCulture = oldCI; } }
public void Procesar() { StringBuilder sbLinea; sbLinea = new StringBuilder(""); CargaSegurosSuraDA da = new CargaSegurosSuraDA(); SqlConnection cn = GetConnection(); cn.Open(); SqlTransaction trans = cn.BeginTransaction(IsolationLevel.ReadUncommitted); string path = sourcePath; System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); ExcelApplication excelApplication = new ExcelApplication(); ExcelWorkBook wb = excelApplication.OpenWorkBook(path, ExcelMode.Full); try { // traer la cantidad de empresas atraves del campo codigo ConveniosPlanEmpleadorDA conveniosPlanEmpleadorDA = new ConveniosPlanEmpleadorDA(); string codigosEmpresas = "COD_EMP_CON"; DataTable dtCodigosEmpresas = conveniosPlanEmpleadorDA.ObtenerTablaGeneral(codigosEmpresas); int numeroEmpresas = dtCodigosEmpresas.Rows.Count; object[] row; int rowIndex; string codigoParticipacion; string nombreFondo; DataRow[] drFondo; DataTable dtFondosDepositos; DataRow[] drFondoDeposito; string idFondo; string codigoTablatablaGeneralDepositos = "FONDO_EQUIV"; string mes = ""; string anio = ""; string estadoFondos = "ACT"; DataTable dtFondos = conveniosPlanEmpleadorDA.ListarFondos(estadoFondos); CargaSegurosSuraDA cargaSegurosSuraDA = new CargaSegurosSuraDA(); if (numeroEmpresas == 0) { //no hay empresas } else { string periodo; string[] periodoElementos; string tipoMovimiento = "I"; string tipoAporte = ""; //"P" double montoAporte; string montoAporteCadena; string nombreEmpresa; bool existenRegistrosHoja = true; string codigoEmpresa = ""; int grabo_registro = 0; int numeroHojas = 0; string parametro = ""; string constanteCP = "CP_"; int cantidadHojas = wb.GetSheetCount(); if (cantidadHojas == 3) { numeroHojas = wb.GetSheetCount(); } else { numeroHojas = numeroEmpresas * 2 + 1; } //for (int i = 1; i <= numeroEmpresas; i++) //{ for (int i = 1; i <= numeroHojas; i++) { ExcelWorkSheet sheet = wb.GetSheet(i); // ExcelWorkSheet sheet = null; nombreEmpresa = sheet.getName(); parametro = nombreEmpresa.Substring(0, 3); StreamWriter sw = null; //if (i == 1) //{ // periodo = sheet.GetString("B8").Substring(4, 10); // periodoElementos = periodo.Split('/'); // anio = periodoElementos[2].Trim(); // mes = periodoElementos[1].Trim(); //} //codigoEmpresa = sheet.GetString("B1").Trim(); //DataTable dtDetalleConvenio = conveniosPlanEmpleadorDA.ObtenerDetalleConvenios(codigoEmpresa, Convert.ToInt32(mes), Convert.ToInt32(anio)); rowIndex = 13;//13 row = sheet.GetRow(rowIndex++, 'B', 'O'); int cont = 0; while (row[0] != null & parametro != constanteCP) { try { ConvenioTD.ConvenioRow drConvenio = new ConvenioTD().Convenio.NewConvenioRow(); drConvenio.CUC = row[0].ToString(); drConvenio.MATRICULA = row[1] == null ? "" : row[1].ToString(); drConvenio.NOMBRE = row[2] == null ? "" : row[2].ToString(); drConvenio.NOMBRES = row[3].ToString(); drConvenio.APELLIDOS = row[4].ToString(); drConvenio.MONTO = Convert.ToDouble(row[5]); drConvenio.FONDO = row[6].ToString(); drConvenio.ESTADO = row[7].ToString(); drConvenio.PARTICIPANTE = Convert.ToDouble(row[8]); drConvenio.EMPLEADOR = Convert.ToDouble(row[9]); drConvenio.ANTIGUEDAD = Convert.ToDouble(row[10]); drConvenio.SALARIO_PROM = Convert.ToDouble(row[11]); drConvenio.EDAD = Convert.ToDouble(row[12]); drConvenio.BONO_ANUAL = Convert.ToDouble(row[13]); cargaSegurosSuraDA.CargaRegistroConvenio(drConvenio, cn, trans); row = sheet.GetRow(rowIndex++, 'B', 'O'); cont = cont + 1; grabo_registro = grabo_registro + 1; } catch (Exception ex) { throw new Exception(string.Format("Error en la línea {0}. Detalle " + ex.Message, rowIndex - 1)); } // trans.Commit(); } if (cont > 0) { if (sw != null) { sw.Close(); } } existenRegistrosHoja = true; } if (grabo_registro > 0) { trans.Commit(); } } } catch (Exception ex) { trans.Rollback(); throw ex; } finally { wb.Close(); System.Threading.Thread.CurrentThread.CurrentCulture = oldCI; excelApplication.Close(); } }
//OT 8372-PSC001 //public void generarArchivo(string rutaArchivo, string rutaArchivoDestino) public void generarArchivoXFondo(string rutaArchivo, string rutaArchivoDestino) { StringBuilder sbLinea; sbLinea = new StringBuilder(""); //StreamWriter sw = null; string path = rutaArchivo; System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); ExcelApplication excelApplication = new ExcelApplication(); ExcelWorkBook wb = excelApplication.OpenWorkBook(path, ExcelMode.Full); try { ConveniosPlanEmpleadorDA conveniosPlanEmpleadorDA = new ConveniosPlanEmpleadorDA(); string codigosEmpresas = "COD_EMP_CON"; DataTable dtCodigosEmpresas = conveniosPlanEmpleadorDA.ObtenerTablaGeneral(codigosEmpresas); int numeroEmpresas = dtCodigosEmpresas.Rows.Count; object[] row; int rowIndex; string codigoParticipacion; string nombreFondo; DataRow[] drFondo; DataTable dtFondosDepositos; DataRow[] drFondoDeposito; string idFondo; string codigoTablatablaGeneralDepositos = "FONDO_EQUIV"; string mes = ""; string anio = ""; string estadoFondos = "ACT"; DataTable dtFondos = conveniosPlanEmpleadorDA.ListarFondos(estadoFondos); //OT 8372 INI DataTable dtRegistrosHoja;//almacena el contenido de una hoja del excel #region Definir las columnas del DataTable dtRegistrosHoja dtRegistrosHoja = new DataTable(); dtRegistrosHoja.Columns.Add("CODIGO_PARTICIPACION", typeof(string)); dtRegistrosHoja.Columns.Add("NOMBRE_FONDO", typeof(string)); dtRegistrosHoja.Columns.Add("MONTO_APORTE", typeof(decimal)); #endregion //OT 8372 FIN if (numeroEmpresas == 0) { //no hay empresas } else { string periodo; string[] periodoElementos; string tipoMovimiento = "I"; string tipoAporte = ""; //"P" double montoAporte; string montoAporteCadena; string nombreEmpresa; bool existenRegistrosHoja = true; string codigoEmpresa = ""; string constanteCP = "CP_"; // int numeroHojas = numeroEmpresas * 2 + 1; int numeroHojas = 0; //OT 6891 inicio int cantidadHojas = wb.GetSheetCount(); if (cantidadHojas == 3) { numeroHojas = wb.GetSheetCount(); } else { numeroHojas = numeroEmpresas * 2 + 1; } //for (int i = 1; i <= numeroEmpresas; i++) for (int i = 1; i <= numeroHojas; i++) { //ExcelWorkSheet sheet = wb.GetSheet(i + 1); //Toma a partir de la 4ta hoja porque las 3 primeras son plantillas vacías. //ExcelWorkSheet sheet = wb.GetSheet(i + 1); //Toma a partir de la 4ta hoja porque las 3 primeras son plantillas vacías. // OT 6891 ExcelWorkSheet sheet = null; if (cantidadHojas == 3) { sheet = wb.GetSheet(i); } else { sheet = wb.GetSheet(i + 1); } // OT 6891 fin nombreEmpresa = sheet.getName(); if (nombreEmpresa.StartsWith(constanteCP)) { //StreamWriter sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + nombreEmpresa + "_" + anio + mes + ".txt"); StreamWriter sw = null; String estadoCabecera; //if (i == 1) //{ periodo = sheet.GetString("B8").Substring(4, 10); periodoElementos = periodo.Split('/'); anio = periodoElementos[2].Trim(); mes = periodoElementos[1].Trim(); //} codigoEmpresa = sheet.GetString("B1").Trim(); DataTable dtDetalleConvenio = conveniosPlanEmpleadorDA.ObtenerDetalleConvenios(codigoEmpresa, Convert.ToInt32(mes), Convert.ToInt32(anio)); rowIndex = 13;//13 //row = sheet.GetRow(rowIndex++, 'B', 'J'); //OT 6134 row = sheet.GetRow(rowIndex++, 'B', 'E'); int cont = 0; while (row[0] != null) { //if (row[8].ToString().Trim() == "EFE") //if (row[3].ToString().Trim() == "EFE") estadoCabecera = ObtienePestañaEmpresa(wb, nombreEmpresa.Substring(constanteCP.Length), numeroHojas, row[0].ToString().Substring(0, 8)); if (estadoCabecera == "EFE") { if (existenRegistrosHoja) { codigoEmpresa = sheet.GetString("B1").Trim(); //OT 8372 INI //sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + nombreEmpresa.Substring(3, nombreEmpresa.Length - 3) + "_" + codigoEmpresa + "_" + anio + mes + ".txt"); //OT 8372 FIN existenRegistrosHoja = false; } //codigoParticipacion = row[1].ToString().Trim(); codigoParticipacion = row[0].ToString().Trim(); //nombreFondo = row[7].ToString().Trim();//OT 6134 nombreFondo = row[1].ToString().Trim(); //montoAporte = Convert.ToDouble(row[6].ToString().Trim()); //OT 6134 montoAporte = Convert.ToDouble(row[2].ToString().Trim()); //OT 6134 //OT 8372 INI #region Agregar un registro al DataTable dtRegistrosHoja DataRow newRegistroHoja = dtRegistrosHoja.NewRow(); newRegistroHoja["CODIGO_PARTICIPACION"] = codigoParticipacion; newRegistroHoja["NOMBRE_FONDO"] = nombreFondo; newRegistroHoja["MONTO_APORTE"] = montoAporte; dtRegistrosHoja.Rows.Add(newRegistroHoja); #endregion #region Se comenta código: El procesamiento de los registros ahora se hará al terminar de leer los registros de toda la hoja /* * string filtro = "CODIGO = '" + codigoParticipacion + "' AND FONDO = '" + nombreFondo + "' AND MONTO_CONCEPTO = " + montoAporte.ToString(); * DataRow[] dDetalleConvenio = dtDetalleConvenio.Select(filtro, "ID_CONVENIO"); * //Decimal idConvenio =0; * Decimal idConvenioDetalle = 0; * foreach (DataRow dr in dDetalleConvenio) * { * //if (idConvenio == 0|| idConvenio > 0 && idConvenio == Convert.ToDecimal(dr["ID_CONVENIO"])) * if (idConvenioDetalle == 0 || idConvenioDetalle > 0 && idConvenioDetalle == Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"])) * { * idConvenioDetalle = Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"]); * * sbLinea.Append(codigoParticipacion.Replace("-", "").Trim()); * drFondo = dtFondos.Select("NOMBRE = '" + nombreFondo + "'"); * dtFondosDepositos = conveniosPlanEmpleadorDA.ObtenerTablaGeneralDepositos(codigoTablatablaGeneralDepositos); * idFondo = drFondo[0]["ID"].ToString(); * drFondoDeposito = dtFondosDepositos.Select("DESCRIPCION_CORTA = '" + idFondo + "'"); * sbLinea.Append(drFondoDeposito[0]["LLAVE_TABLA"].ToString()); * * sbLinea.Append(anio + mes); * sbLinea.Append(tipoMovimiento); * * tipoAporte = dr["CODIGO_CONCEPTO"].ToString().Trim(); * sbLinea.Append(tipoAporte); * * montoAporte = Convert.ToDouble(dr["MONTO_CONCEPTO"]); * montoAporteCadena = montoAporte.ToString("000000.00"); * montoAporteCadena = montoAporteCadena.Replace(".", ""); * sbLinea.Append(montoAporteCadena); * * sw.WriteLine(sbLinea); * sbLinea.Length = 0; * } * else * break; * } * * for (int j = dtDetalleConvenio.Rows.Count - 1; j >= 0; --j) * { * DataRow drDetalleConvenio = dtDetalleConvenio.Rows[j]; * if (idConvenioDetalle == Convert.ToDecimal(drDetalleConvenio["ID_CONVENIO_DETALLE"])) * dtDetalleConvenio.Rows.Remove(drDetalleConvenio); * } */ #endregion //OT 8372 FIN } //row = sheet.GetRow(rowIndex++, 'B', 'J');//OT 6134 row = sheet.GetRow(rowIndex++, 'B', 'E'); cont = cont + 1; } //OT 8372 INI #region Procesar todos los registros de la hoja almacenadas en el DataTable dtRegistrosHoja //Obtener los fondos que aparecen en el DataTable dtRegistrosHoja var ListaFondos = (from DataRow dRow in dtRegistrosHoja.Rows select dRow["NOMBRE_FONDO"]).Distinct(); if (ListaFondos != null) { string filtroXNombreFondo; foreach (var objNombreFondo in ListaFondos) { filtroXNombreFondo = "NOMBRE_FONDO = '" + objNombreFondo + "'"; DataRow[] dRegistrosXFondo = dtRegistrosHoja.Select(filtroXNombreFondo, "CODIGO_PARTICIPACION"); //Crear un archivo plano .txt por cada fondo //OT 8372-PSC001 INICIO /* * sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + nombreEmpresa.Substring(3, nombreEmpresa.Length - 3) + "_" + codigoEmpresa + "_" + objNombreFondo + "_" + anio + mes + ".txt"); */ sw = new StreamWriter(rutaArchivoDestino + "\\" + "PCP_" + "F" + "_" + objNombreFondo + "._" + nombreEmpresa.Substring(3, nombreEmpresa.Length - 3) + "_" + codigoEmpresa + "_" + anio + mes + ".txt"); //OT 8372-PSC001 FIN foreach (var dRegistroXFondo in dRegistrosXFondo) { #region procesar un registro string filtro = "CODIGO = '" + dRegistroXFondo["CODIGO_PARTICIPACION"] + "' AND FONDO = '" + dRegistroXFondo["NOMBRE_FONDO"] + "' AND MONTO_CONCEPTO = " + dRegistroXFondo["MONTO_APORTE"].ToString(); DataRow[] dDetalleConvenio = dtDetalleConvenio.Select(filtro, "ID_CONVENIO"); //Decimal idConvenio =0; Decimal idConvenioDetalle = 0; foreach (DataRow dr in dDetalleConvenio) { //if (idConvenio == 0|| idConvenio > 0 && idConvenio == Convert.ToDecimal(dr["ID_CONVENIO"])) if (idConvenioDetalle == 0 || idConvenioDetalle > 0 && idConvenioDetalle == Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"])) { idConvenioDetalle = Convert.ToDecimal(dr["ID_CONVENIO_DETALLE"]); sbLinea.Append(dRegistroXFondo["CODIGO_PARTICIPACION"].ToString().Replace("-", "").Trim()); drFondo = dtFondos.Select("NOMBRE = '" + dRegistroXFondo["NOMBRE_FONDO"] + "'"); dtFondosDepositos = conveniosPlanEmpleadorDA.ObtenerTablaGeneralDepositos(codigoTablatablaGeneralDepositos); idFondo = drFondo[0]["ID"].ToString(); drFondoDeposito = dtFondosDepositos.Select("DESCRIPCION_CORTA = '" + idFondo + "'"); sbLinea.Append(drFondoDeposito[0]["LLAVE_TABLA"].ToString()); sbLinea.Append(anio + mes); sbLinea.Append(tipoMovimiento); tipoAporte = dr["CODIGO_CONCEPTO"].ToString().Trim(); sbLinea.Append(tipoAporte); montoAporte = Convert.ToDouble(dr["MONTO_CONCEPTO"]); montoAporteCadena = montoAporte.ToString("000000.00"); montoAporteCadena = montoAporteCadena.Replace(".", ""); sbLinea.Append(montoAporteCadena); sw.WriteLine(sbLinea); sbLinea.Length = 0; } else { break; } } for (int j = dtDetalleConvenio.Rows.Count - 1; j >= 0; --j) { DataRow drDetalleConvenio = dtDetalleConvenio.Rows[j]; if (idConvenioDetalle == Convert.ToDecimal(drDetalleConvenio["ID_CONVENIO_DETALLE"])) { dtDetalleConvenio.Rows.Remove(drDetalleConvenio); } } #endregion } if (sw != null) { sw.Close(); } } dtRegistrosHoja.Rows.Clear(); } #endregion //OT 8372 FIN if (cont > 0) { if (sw != null) { sw.Close(); } } existenRegistrosHoja = true; } } } } catch (Exception ex) { throw ex; } finally { wb.Close(); excelApplication.Close(); System.Threading.Thread.CurrentThread.CurrentCulture = oldCI; } }
private void button2_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook ExcelWorkBook; Microsoft.Office.Interop.Excel.Worksheet ExcelWorkSheet; ExcelApp.Visible = true; ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value); ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1); ExcelApp.Columns[1].ColumnWidth = 25; ExcelApp.Columns[2].ColumnWidth = 25; ExcelApp.Columns[3].ColumnWidth = 15; string connectionString = @"Data Source=USER-ПК\USER1; Initial Catalog=ГПУ; Integrated Security=True"; int row = dataGridView1.RowCount + 8 + 3; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); } ExcelApp.Range _excelCells1 = (ExcelApp.Range)ExcelWorkSheet.get_Range("A1", "D1").Cells; _excelCells1.Merge(Type.Missing); _excelCells1.Value = "Отчет об отпускных"; _excelCells1.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; _excelCells1.Font.Size = 16; ExcelApp.Range _excelCells2 = (ExcelApp.Range)ExcelWorkSheet.get_Range("A3", "D3").Cells; _excelCells2.Merge(Type.Missing); _excelCells2.Value = "От кого получены бланки________________________"; _excelCells2.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; _excelCells2.Font.Size = 16; ExcelApp.Range _excelCells3 = (ExcelApp.Range)ExcelWorkSheet.get_Range("B4", "E4").Cells; _excelCells3.Merge(Type.Missing); _excelCells3.Value = "Наименование организации ГПУ"; _excelCells3.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; _excelCells3.Font.Size = 16; ExcelApp.Range _excelCells4 = (ExcelApp.Range)ExcelWorkSheet.get_Range("A5", "D5").Cells; _excelCells4.Merge(Type.Missing); _excelCells4.Value = "Кому выданы бланки________________________"; _excelCells4.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; _excelCells4.Font.Size = 16; ExcelApp.Range _excelCells5 = (ExcelApp.Range)ExcelWorkSheet.get_Range("B7", "E7").Cells; _excelCells5.Merge(Type.Missing); _excelCells5.Value = "Наименование организации ГПУ"; _excelCells5.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter; _excelCells5.Font.Size = 16; for (int i = 1; i < dataGridView1.RowCount + 3; i++) { (ExcelWorkSheet.Cells[8, i] as ExcelApp.Range).Font.Bold = true; (ExcelWorkSheet.Cells[8, i] as ExcelApp.Range).Borders.LineStyle = true; } ExcelApp.Cells[8, 1] = "Дата начала отпуска"; ExcelApp.Cells[8, 2] = "Дата окончания отпуска"; ExcelApp.Cells[8, 3] = "Опускная сумма"; ExcelApp.Cells[17, 1] = "ФИО сотрудника " + textBox1.Text; for (int i = 0; i < dataGridView1.RowCount; i++) { for (int j = 0; j < dataGridView1.ColumnCount; j++) { (ExcelWorkSheet.Cells[i + 8, j + 1] as ExcelApp.Range).Borders.LineStyle = true; ExcelApp.Cells[i + 9, j + 1] = dataGridView1.Rows[i].Cells[j].Value; } //(ExcelWorkSheet.Cells[i + 8, 4] as ExcelApp.Range).Borders.LineStyle = true; } }
public void Procesar() { ExcelApplication excelApplication = new ExcelApplication(); CargarRetencionPagoFlujosDA da = new CargarRetencionPagoFlujosDA(); SqlConnection cn = GetConnection(); cn.Open(); SqlTransaction trans = cn.BeginTransaction(IsolationLevel.ReadUncommitted); DateTime fechaActual = DateTime.Now; try { // Abriendo el archivo que contiene la información excelApplication.OpenWorkBook(sourcePath, ExcelMode.Full); ExcelWorkSheet sheet = excelApplication.GetWorkBook(1).GetSheet(1); // Obteniendo la información del archivo int rowIndex = 2; //object[] row = sheet.GetRow(rowIndex++, 'A', 'C', 4); object[] row = sheet.GetRow(rowIndex++, 'A', 'C'); while (row[0] != null) { try { int idOperacion = Convert.ToInt32(sheet.GetString(string.Format("A{0}", rowIndex - 1))); int idParticipe = Convert.ToInt32(sheet.GetString(string.Format("B{0}", rowIndex - 1))); //decimal montoRetencion = Convert.ToDecimal(sheet.GetString(string.Format("C{0}", rowIndex - 1))); String montoRetencionCadena = Convert.ToDecimal(sheet.GetString(string.Format("C{0}", rowIndex - 1))).ToString("0.00000000"); decimal montoRetencion = Convert.ToDecimal(montoRetencionCadena); PagoFlujosTD.PagoFlujosRow drPagoFlujos = new PagoFlujosTD().PagoFlujos.NewPagoFlujosRow(); drPagoFlujos.ID_OPERACION = idOperacion; drPagoFlujos.ID_PARTICIPE = idParticipe; drPagoFlujos.RETENCION = montoRetencion; drPagoFlujos.FECHA = fechaActual; drPagoFlujos.USUARIO_CREACION = codigoUsuario; da.registrarPagoFlujos(drPagoFlujos, cn, trans); row = sheet.GetRow(rowIndex++, 'A', 'C'); } catch (Exception ex) { throw new Exception(string.Format("Error en la línea {0}. Detalle " + ex.Message, rowIndex - 1)); } //excelApplication.GetWorkBook(1).Save(); //excelApplication.Show(); } trans.Commit(); } catch (Exception ex) { trans.Rollback(); excelApplication.GetWorkBook(1).Close(); excelApplication.Close(); throw ex; } finally { trans.Dispose(); cn.Close(); excelApplication.Close(); } }