none
Realizar Update em tabela SQL Server usando dados de planilha Excel em C# RRS feed

  • Pergunta

  • Boa noite a todos, pessoal estou desenvolvendo um aplicativo pequeno para poder auxiliar no controle de trocas de óleo de alguns veículos e para agilizar o processo gostaria de importar os dados dos últimos quilômetros de cada veiculo todos de uma só vez. Ainda não havia desenvolvido aplicações usando tal função (importar um determinado arquivo) então estou tendo muita dificuldade e se alguém poder me ajudar agradeço muito.

    Se alguem precisar do projeto para ver como esta, segue o link do mesmo

    https://mega.nz/#!K4ZCzKYI!KoETKHka8z-mNtd-Bvu8DqvnLZXugPTUdgpf7wSVs3w

    terça-feira, 7 de fevereiro de 2017 02:55

Todas as Respostas

  • eu uso assim:

    private void btnImport_Click(object sender, EventArgs e)
                {
                    try
                    {
                        OpenFileDialog openFileDialog = new OpenFileDialog();
                        System.Data.DataTable dataTable = new System.Data.DataTable();

                        openFileDialog.Filter = "Arquivo CSV|*.csv|Arquivo TXT|*.txt";
                        openFileDialog.FilterIndex = 1;
                        openFileDialog.Title = "Importar CSV";
                        DialogResult result = openFileDialog.ShowDialog();
                        string filePath = openFileDialog.FileName;


                        if (openFileDialog.FileName != "")
                        {

                            if (dgvDataGrid.RowCount > 0)
                            {
                                //dataGridView1.DataSource = null;
                                dataTable.Clear();
                            }

                            var linhas = File.ReadLines(filePath);
                            var headers = linhas.First().Split(';');
                            foreach (var linha in headers) // preenche o cabeçalho (se for preciso ignorar o mesmo é necessário apenas comenta-lo
                            {
                                dataTable.Columns.Add(linha);
                            }

                            var records = linhas.Skip(0); // preenche o grid a partir da 1 linha igando o cabeçalho
                            foreach (var record in records)
                            {
                                dataTable.Rows.Add(record.Split(';'));
                            }

                            dgvDataGrid.DataSource = dataTable;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(string.Format("Erro ao buscar o arquivo! /nDescrição do Erro: {0}", ex));
                    }
                }
                private IEnumerable<string> ReadAsLines(string Filename)
                {
                    MessageBox.Show(string.Format("Falha: Verifique se o arquivo está fechado! \nDescrição do Erro:{0} "));
                    using (StreamReader reader = new StreamReader(Filename, Encoding.Default))
                        while (!reader.EndOfStream)
                            yield return reader.ReadLine();
                    MessageBox.Show(string.Format("Erro ao importar o arquivo! \nDescrição do Erro: {0}"));

                }

    Salvo o excel como CSV, aí clico o btnImport, abre o dialogo, seleciono o arquivo e ele joga tudo no grid.

    Aí é só montar o update dos dados que quiser e gravar no banco....

    terça-feira, 7 de fevereiro de 2017 13:54