Array
(
)

excel para o gridview

Cintia Ribeiro
   - 22 mai 2011

Galera, tenho uma planilha em excel e quero importar ela pra o meu gridview e então salva-la no meu banco de dados, mas não sei como fazer. Alguem pode me ajudar? Estou usando c#

Ronaldo Alves
   - 15 jul 2011

Primeiro vc deve conectar a esta planinha, vou postar um exemplo que uso para pegar um xls, importar para grid e imprimir etiquetas a partir  da grid.

private void btnxls_Click(object sender, EventArgs e)
        {
            if(string.IsNullOrEmpty(tBnomePlanilha.Text))
            {
                MessageBox.Show("Entre com o nome da planilha.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                tBnomePlanilha.Focus();
                return;
            }
            try
            {
                OpenFileDialog vAbreArq = new OpenFileDialog();
                vAbreArq.Filter = "Microsoft Excel 2000 e 2003 (*.xls)|*.xls";
                vAbreArq.Title = "Stigma - Selecione o arquivo";

                if (vAbreArq.ShowDialog() == DialogResult.OK)
                {
                    DataSet ds = new DataSet();
                    OleDbConnection conexao = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
                                                                  "Data Source=" + vAbreArq.FileName + ";" +
                                                                  "Extended Properties=Excel 8.0;");

                    //OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [CLIENTE$]", conexao);
                    OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + tBnomePlanilha.Text + "$]", conexao);
                    conexao.Open();
                    da.Fill(ds);
                   
                   

                    dgvExcel.DataSource = ds.Tables[0];
                    var gridExcel = dgvExcel;
                    gridExcel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
                    gridExcel.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Sunken;
                    gridExcel.RowsDefaultCellStyle.BackColor = Color.White;
                    gridExcel.AlternatingRowsDefaultCellStyle.BackColor = Color.Silver;
                    //altera o nome das colunas
                    gridExcel.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    gridExcel.MultiSelect = false;
                    gridExcel.DefaultCellStyle.NullValue = "-";
                    gridExcel.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
                    conexao.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message.ToString(), "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
          
        }

qualquer duvida me chame.