CONVERTER LISTVIEW PARA EXCEL
Bom dia pessoal
Estou com um pequeno problema, fiz um relatório(tipo uma agenda) onde digito as informações nas textbox e depois envio para uma listview. Preciso converter as informações da listview para o excel. Porém preciso que o cabeçalho da listview também converta para o excel. No meu código ele converte só as informações que eu digito.
Alguém pode me ajudar por favor????
Estou com um pequeno problema, fiz um relatório(tipo uma agenda) onde digito as informações nas textbox e depois envio para uma listview. Preciso converter as informações da listview para o excel. Porém preciso que o cabeçalho da listview também converta para o excel. No meu código ele converte só as informações que eu digito.
Alguém pode me ajudar por favor????
Poste seu código atual que ajustamos ele para receber também as informações do cabeçalho.
Esse é o meu código:
public partial class Form1 : Form
{
ArrayList dados = new ArrayList();
int contador = 0;
int inti;
int inti2;
public Form1()
{
InitializeComponent();
}
private void Adicionar_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
dados.Add(new Dados(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text));
foreach (Dados d in dados)
{
listView1.Items.Add(d.getCódigo());
listView1.Items[contador].SubItems.Add(d.getProduto());
listView1.Items[contador].SubItems.Add(d.getMarca());
listView1.Items[contador].SubItems.Add(d.getUN());
listView1.Items[contador].SubItems.Add(d.getTranferir());
listView1.Items[contador].SubItems.Add(d.getTransferida());
listView1.Items[contador].SubItems.Add(d.getSaldo());
contador++;
}
contador = 0;
limpar();
}
public void limpar()
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox1.Focus();
}
private void Remover_Click(object sender, EventArgs e)
{
listView1.SelectedItems[0].Remove();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
listView1.Columns.Add(i.ToString());
ListViewItem lv = new ListViewItem(i.ToString());
for (int ai = 0; ai < 10; ai++)
{
lv.SubItems.Add(ai.ToString());
}
listView1.Items.Add(lv);
}
}
private void Exportar_Click(object sender, EventArgs e)
{
_Application app = new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;
Workbook wb = app.Workbooks.Add(1);
Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
int i = 1;
int j = 1;
foreach (ListViewItem lvi in listView1.Items)
{
i = 1;
foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems)
{
ws.Cells[j, i] = lvs.Text;
i++;
}
j++;
}
wb.SaveAs(@[Ô]D:\VIVIANE ransferencia.xls[Ô], Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wb.Close(false, Type.Missing, Type.Missing);
app.Quit();
class Dados
{
XlSaveAction salvar = new XlSaveAction();
private string Código;
private string Produto;
private string Marca;
private string UN;
private string Transferir;
private string Transferida;
private string Saldo;
public Dados(string Código, string Produto, string Marca, string UN, string Transferir, string Transferida, string Saldo)
{
this.Código = Código;
this.Produto = Produto;
this.Marca = Marca;
this.UN = UN;
this.Transferir = Transferir;
this.Transferida = Transferida;
this.Saldo = Saldo;
}
public string getCódigo()
{
return Código;
}
public string getProduto()
{
return Produto;
}
public string getMarca()
{
return Marca;
}
public string getUN()
{
return UN;
}
public string getTranferir()
{
return Transferir;
}
public string getTransferida()
{
return Transferida;
}
public string getSaldo()
{
return Saldo;
}
public void setCódigo(string Código)
{
this.Código = Código;
}
public void setProduto(string Produto)
{
this.Produto = Produto;
}
public void setMarca(string Marca)
{
this.Marca = Marca;
}
public void setUN(string UN)
{
this.UN = UN;
}
public void setTranferir(string Transferir)
{
this.Transferir =Transferir;
}
public void setTransferida(string Transferida)
{
this.Transferida = Transferida;
}
public void setSaldo(string Saldo)
{
this.Saldo = Saldo;
}
}
}
public partial class Form1 : Form
{
ArrayList dados = new ArrayList();
int contador = 0;
int inti;
int inti2;
public Form1()
{
InitializeComponent();
}
private void Adicionar_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
dados.Add(new Dados(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text));
foreach (Dados d in dados)
{
listView1.Items.Add(d.getCódigo());
listView1.Items[contador].SubItems.Add(d.getProduto());
listView1.Items[contador].SubItems.Add(d.getMarca());
listView1.Items[contador].SubItems.Add(d.getUN());
listView1.Items[contador].SubItems.Add(d.getTranferir());
listView1.Items[contador].SubItems.Add(d.getTransferida());
listView1.Items[contador].SubItems.Add(d.getSaldo());
contador++;
}
contador = 0;
limpar();
}
public void limpar()
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox1.Focus();
}
private void Remover_Click(object sender, EventArgs e)
{
listView1.SelectedItems[0].Remove();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
listView1.Columns.Add(i.ToString());
ListViewItem lv = new ListViewItem(i.ToString());
for (int ai = 0; ai < 10; ai++)
{
lv.SubItems.Add(ai.ToString());
}
listView1.Items.Add(lv);
}
}
private void Exportar_Click(object sender, EventArgs e)
{
_Application app = new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;
Workbook wb = app.Workbooks.Add(1);
Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
int i = 1;
int j = 1;
foreach (ListViewItem lvi in listView1.Items)
{
i = 1;
foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems)
{
ws.Cells[j, i] = lvs.Text;
i++;
}
j++;
}
wb.SaveAs(@[Ô]D:\VIVIANE ransferencia.xls[Ô], Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wb.Close(false, Type.Missing, Type.Missing);
app.Quit();
class Dados
{
XlSaveAction salvar = new XlSaveAction();
private string Código;
private string Produto;
private string Marca;
private string UN;
private string Transferir;
private string Transferida;
private string Saldo;
public Dados(string Código, string Produto, string Marca, string UN, string Transferir, string Transferida, string Saldo)
{
this.Código = Código;
this.Produto = Produto;
this.Marca = Marca;
this.UN = UN;
this.Transferir = Transferir;
this.Transferida = Transferida;
this.Saldo = Saldo;
}
public string getCódigo()
{
return Código;
}
public string getProduto()
{
return Produto;
}
public string getMarca()
{
return Marca;
}
public string getUN()
{
return UN;
}
public string getTranferir()
{
return Transferir;
}
public string getTransferida()
{
return Transferida;
}
public string getSaldo()
{
return Saldo;
}
public void setCódigo(string Código)
{
this.Código = Código;
}
public void setProduto(string Produto)
{
this.Produto = Produto;
}
public void setMarca(string Marca)
{
this.Marca = Marca;
}
public void setUN(string UN)
{
this.UN = UN;
}
public void setTranferir(string Transferir)
{
this.Transferir =Transferir;
}
public void setTransferida(string Transferida)
{
this.Transferida = Transferida;
}
public void setSaldo(string Saldo)
{
this.Saldo = Saldo;
}
}
}
Veja se dessa forma te ajuda...
private void Exportar_Click(object sender, EventArgs e)
{
_Application app = new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;
Workbook wb = app.Workbooks.Add(1);
Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1];
int i = 1;
int j = 1;
[txt-color=#e80000] // Adiciona o cabeçalho do Listview na planilha do Excel.
for (int ContadorColunas = 0; ContadorColunas <= this.listView1.Columns.Count - 1; ContadorColunas++)
{
ws.Cells[1, ContadorColunas + 1] = this.listView1.Columns[ContadorColunas].Text;
}[/txt-color]
foreach (ListViewItem lvi in listView1.Items)
{
i = 1;
foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems)
{
ws.Cells[j, i] = lvs.Text;
i++;
}
j++;
}
wb.SaveAs(@[Ô]D:\VIVIANE ransferencia.xls[Ô], Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wb.Close(false, Type.Missing, Type.Missing);
app.Quit();
}
Obrigado, mas infelizmente não apareceu ainda o cabeçalho.
Ops, desculpe, altere o valor da variável j para 2.
int j = 2;
Muito Obrigado
Deu certo sim
Valeuuuu
Deu certo sim
Valeuuuu
Tópico encerrado , respostas não são mais permitidas