This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-09-09 07:49:11 -07:00
parent 2ec1e51529
commit ea0fe043a5
12 changed files with 660 additions and 93 deletions

102
General/ExcelToBD.aspx Normal file
View File

@@ -0,0 +1,102 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ExcelToBD.aspx.cs" Inherits="General_ExcelToBD" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server" ID="UpDetallesDia" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-upload font-green"></i>
<span class="caption-subject bold uppercase">Paso 1: cargar plantilla </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding ">
<asp:Label runat="server" Text="Label">ingrese el archivo a cargar</asp:Label>
<asp:TextBox ID="TxtArchivoXls" CssClass="ADSdropzone hidden" data-maxFilesize="100" runat="server"></asp:TextBox>
<div class="text-right">
<asp:LinkButton ID="LnkCargarArchivo" CssClass="btn btn-success" OnClick="LnkCargarArchivo_Click" runat="server">Cargar excel</asp:LinkButton>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-upload font-green"></i>
<span class="caption-subject bold uppercase">Paso 2: Configuración </span>
</div>
<div class="tools">
<asp:LinkButton ID="Lnkdoit" CssClass="btn btn-success" OnClick="Lnkdoit_Click" runat="server">Mostrar</asp:LinkButton>
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding ">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlWorkBooks" runat="server" CssClass="select2me form-control" DataTextField="Name" DataValueField="position" OnSelectedIndexChanged="DdlWorkBooks_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlWorkBooks" Text="Hoja Excel"></asp:Label>
</div>
</div>
<div class="col-md-6">
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtFilas" runat="server" Text="1" Enabled="false"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtFilas" type="number" Text="Filas"></asp:Label>
</div>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtInicia" runat="server" Text="1" Enabled="false"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtInicia" type="number" Text="Fila inicial"></asp:Label>
</div>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtColumnas" runat="server" Text="1" Enabled="false"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtColumnas" type="number" Text="Columnas"></asp:Label>
</div>
</div>
<div class="col-md-3">
<asp:CheckBox ID="chkcontieneTitulos" Checked="true" TextAlign="Left" Text="Contiene titulos:" runat="server" />
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkContinuar" OnClick="LnkContinuar_Click" runat="server">Continuar</asp:LinkButton>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

116
General/ExcelToBD.aspx.cs Normal file
View File

@@ -0,0 +1,116 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ClosedXML.Excel;
using Extensiones;
public partial class General_ExcelToBD : System.Web.UI.Page
{
#region propiedades
private string URLFile
{
get
{
if (ViewState["URLFile"] == null) { return ""; }
else { return ViewState["URLFile"].ToString(); }
}
set { ViewState["URLFile"] = value; }
}
private string extension
{
get
{
if (ViewState["extension"] == null) { return ""; }
else { return ViewState["extension"].ToString(); }
}
set { ViewState["extension"] = value; }
}
private List<ADSWorksBooks> workBooks
{
get
{
if (ViewState["workBooks"] == null) { return null; }
else { return (List<ADSWorksBooks>)ViewState["workBooks"]; }
}
set { ViewState["workBooks"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LnkCargarArchivo_Click(object sender, EventArgs e)
{
List<Archivo> filesgral = TxtArchivoXls.getfiles().Archivos;
workBooks = new List<ADSWorksBooks>();
foreach (Archivo fileItem in filesgral)
{
extension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
URLFile = fileItem.FileUrl;
}
using (var workbook = new XLWorkbook(URLFile))
{
int position = 1;
foreach (IXLWorksheet wokitem in workbook.Worksheets)
{
workBooks.Add(new ADSWorksBooks() { Name = wokitem.Name, position = position++ });
}
}
DdlWorkBooks.DataSource = workBooks;
DdlWorkBooks.DataBind();
if (workBooks.Count > 0)
{
DdlWorkBooks.SelectedIndex = 0;
DdlWorkBooks_SelectedIndexChanged(null,null);
}
}
protected void DdlWorkBooks_SelectedIndexChanged(object sender, EventArgs e)
{
using (var workbook = new XLWorkbook(URLFile))
{
int Filas = 0;
int columnas = 0;
IXLWorksheet workSheet = workbook.Worksheet(DdlWorkBooks.SelectedValue.ToEntero());
Filas = workSheet.LastColumnUsed().CellCount();
columnas = workSheet.LastRowUsed().CellCount();
TxtFilas.Text = Filas.ToString();
TxtInicia.Text = "1";
TxtColumnas.Text = Filas.ToString();
}
}
protected void Lnkdoit_Click(object sender, EventArgs e)
{
}
protected void LnkContinuar_Click(object sender, EventArgs e)
{
int Filas = 0;
int columnas = 0;
using (var workbook = new XLWorkbook(URLFile))
{
IXLWorksheet workSheet = workbook.Worksheet(DdlWorkBooks.SelectedValue.ToEntero());
}
}
}
[Serializable]
public class ADSWorksBooks
{
public int position { get; set; }
public string Name { get; set; }
}