出口的DataGridView数据到excel [英] Export DataGridView data to excel
本文介绍了出口的DataGridView数据到excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的申请,我出口的DataGridView数据的Excel工作表,现在我想通过组合框和文本框选择的值到Excel表,我得给标题我的Excel工作表作为报告我的windows应用程序,我怎么能做到这一点?
任何人都可以帮助我在此
我对出口的DataGridView数据到excel代码:
私人无效btnexcel_Click(对象发件人,EventArgs五)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
对象misValue = System.Reflection.Missing.Value;
xlApp =新Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet =(Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
INT I = 0;
INT J = 0;
为(i = 0; I< = dataGridView1.RowCount - 1;我++)
{
为(J = 0; J< = dataGridView1.ColumnCount - 1 ; J ++)
{
细胞的DataGridViewCell = dataGridView1 [J,I]
xlWorkSheet.Cells [I + 1,J + 1] = cell.Value;
}
}
xlWorkBook.SaveAs(csharp.net-informations.xls,Excel.XlFileFormat.xlWorkbookNormal,misValue,misValue,misValue,misValue,Excel.XlSaveAsAccessMode。 xlExclusive,misValue,misValue,misValue,misValue,misValue);
xlWorkBook.Close(真,misValue,misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show(创建Excel文件,你可以找到文件c:\\csharp.net-informations.xls);
}
私人无效releaseObject(obj对象)
{
试
{
System.Runtime .InteropServices.Marshal.ReleaseComObject(OBJ);
的obj = NULL;
}
赶上(异常前)
{
的obj = NULL;
MessageBox.Show(出现异常,同时释放对象+ ex.ToString());
}
终于
{
GC.Collect的();
}
}
}
}
解决方案
私人无效ExportarDataGridViewExcel(DataGridView的GRD)
{
SaveFileDialog fichero =新SaveFileDialog();
fichero.Filter =Excel文件(的* .xls)| * .xls的;
fichero.FileName =export.xls;
如果(fichero.ShowDialog()== DialogResult.OK)
{
Microsoft.Office.Interop.Excel.Application aplicacion;
Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
aplicacion =新Microsoft.Office.Interop.Excel.Application();
libros_trabajo = aplicacion.Workbooks.Add();
hoja_trabajo =
(Microsoft.Office.Interop.Excel.Worksheet)libros_trabajo.Worksheets.get_Item(1);
//改变当前工作表
hoja_trabajo.Name的从应用程序导出的名字=;
//在Excel
存储头部分的for(int i = 1; I< grd.Columns.Count + 1;我++)
{
hoja_trabajo.Cells [1,我] = grd.Columns [我 - 1] .HeaderText;
}
// Recorremos EL的DataGridView rellenando拉赫亚德特拉瓦霍
的for(int i = 1; I< grd.Rows.Count + 1;我++)
{
为(INT J = 0; J< grd.Columns.Count; J ++)
{
hoja_trabajo.Cells [I + 1,J + 1] = grd.Rows [的i-1] .Cells [j]的.Value.ToString();
}
}
libros_trabajo.SaveAs(fichero.FileName,
Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libros_trabajo.Close(真);
aplicacion.Quit();
}
}
//在Button1的
私人无效的button1_Click的click事件(对象发件人,EventArgs五)
{
ExportarDataGridViewExcel (dataGridView1);
}
In my application I'm exporting DataGridView data to excel sheet now I want to pass the combobox and textbox selected values to excel sheet and I have to give title to my excel sheet as Report for my windows application how can I do that?
Can anyone help me on this?
I have code for exporting datagridview data to excel:
private void btnexcel_Click(object sender, EventArgs e)
{
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
int i = 0;
int j = 0;
for (i = 0; i <= dataGridView1.RowCount - 1; i++)
{
for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
{
DataGridViewCell cell = dataGridView1[j, i];
xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;
}
}
xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Excel file created , you can find the file c:\\csharp.net-informations.xls");
}
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
}
}
解决方案
private void ExportarDataGridViewExcel(DataGridView grd)
{
SaveFileDialog fichero = new SaveFileDialog();
fichero.Filter = "Excel (*.xls)|*.xls";
fichero.FileName = "export.xls";
if (fichero.ShowDialog() == DialogResult.OK)
{
Microsoft.Office.Interop.Excel.Application aplicacion;
Microsoft.Office.Interop.Excel.Workbook libros_trabajo;
Microsoft.Office.Interop.Excel.Worksheet hoja_trabajo;
aplicacion = new Microsoft.Office.Interop.Excel.Application();
libros_trabajo = aplicacion.Workbooks.Add();
hoja_trabajo =
(Microsoft.Office.Interop.Excel.Worksheet)libros_trabajo.Worksheets.get_Item(1);
// changing the name of active sheet
hoja_trabajo.Name = "Exported from App";
// storing header part in Excel
for (int i = 1; i < grd.Columns.Count + 1; i++)
{
hoja_trabajo.Cells[1, i] = grd.Columns[i - 1].HeaderText;
}
//Recorremos el DataGridView rellenando la hoja de trabajo
for (int i = 1; i < grd.Rows.Count + 1; i++)
{
for (int j = 0; j < grd.Columns.Count; j++)
{
hoja_trabajo.Cells[i + 1, j + 1] = grd.Rows[i-1].Cells[j].Value.ToString();
}
}
libros_trabajo.SaveAs(fichero.FileName,
Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);
libros_trabajo.Close(true);
aplicacion.Quit();
}
}
//in the click event of button1
private void button1_Click(object sender, EventArgs e)
{
ExportarDataGridViewExcel(dataGridView1);
}
这篇关于出口的DataGridView数据到excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文