Moohsilva Posted November 30, 2016 at 01:55 PM Report Share #600957 Posted November 30, 2016 at 01:55 PM Boas, Tenho em ideia fazer o seguinte, colocar um "FileUpload" na pagina, onde o utilizador só tinha de carregar um ficheiro em Excel que terá uma estrutura basica mas que conseguisse através de código ler as colunas desejadas para passar os dados para um ArrayList por exemplo e de seguida carregar esse Array para a estrutura da minha base de dados em SQL Server. A minha duvida, é qual será o melhor procedimento e como o fazer da melhor maneira, porque nem sei se é possivel carregar um ficheiro Excel e a pagina conseguir obter os dados, se tenho de converter o Excel de alguma maneira em xml ou wtv. Se alguém tiver sugestões de como posso fazer isto, desde já agradeço. Link to comment Share on other sites More sharing options...
M6 Posted November 30, 2016 at 02:52 PM Report Share #600958 Posted November 30, 2016 at 02:52 PM É possível de fazeres isso sem grande problema. Podes ver um tutorial aqui: http://csharp.net-informations.com/excel/csharp-read-excel.htm e aqui https://coderwall.com/p/app3ya/read-excel-file-in-c 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Moohsilva Posted December 5, 2016 at 10:29 AM Author Report Share #601026 Posted December 5, 2016 at 10:29 AM Foi uma boa ajuda, já consegui fazer tudo o que queria, apenas estou a ter um problema, o gestor de tarefas está a manter o processo aberto :/ e qnd chega a um determinado deles aberto estoira com o site, e qnd passar isto para o servidor não pode haver falhas nenhumas.. Link to comment Share on other sites More sharing options...
M6 Posted December 7, 2016 at 09:35 AM Report Share #601062 Posted December 7, 2016 at 09:35 AM Não percebi o teu problema. Quando fazes upload abres o ficheiro, lês/carregas a informação, fechas o ficheiro e depois apagas o mesmo. Este é o ciclo normal numa situação dessas. O gestor de tarefas não mantém processos abertos, limita-se os processos que estão a correr, no teu caso serão processos de IIS (w3wp ou lá como se chama) e de Visual Studio se estiveres a fazer debug. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Moohsilva Posted December 7, 2016 at 11:10 AM Author Report Share #601072 Posted December 7, 2016 at 11:10 AM (edited) Sim ele faz a abertura, carrego a informação para a base de dados, mas depois ao fechar, eu acho que não esta a fechar correctamente, porque fica sempre com o processo do Excel.exe no gestor de tarefas e tenho de ir apagar manualmente se não começa a dar problemas de ficheiro usado em outro processo.. o código que estou a usar para fechar depois de já ter efectuado todas as minhas ações é o seguinte: //cleanup GC.Collect(); GC.WaitForPendingFinalizers(); //release com objects to fully kill excel process from running in the background Marshal.ReleaseComObject(xlRange); Marshal.ReleaseComObject(xlWorksheet); //close and release xlWorkbook.Close(); Marshal.ReleaseComObject(xlWorkbook); //quit and release xlApp.Quit(); Marshal.ReleaseComObject(xlApp); Mas ao que parece, não deve estar 100% funcional .. Edited December 7, 2016 at 11:11 AM by Moohsilva Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now