2011-09-12 43 views
1

我建立这个代码出口datagridview的行成Excel文件C#的WinForms DataGridView的列标题文本

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 <= dgvInventory.RowCount - 1; i++) 
{ 
    for (j = 0; j <= dgvInventory.ColumnCount - 1; j++) 
    { 
     DataGridViewCell cell = dgvInventory[j, i]; 
     xlWorkSheet.Cells[i + 1, j + 1] = cell.Value; 
    } 
} 

xlWorkBook.SaveAs(
    "D:\\exp.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); 

它的作品不错,但问题是,即时通讯无法出口的datagridview HEADERTEXT。谁能帮我?

+0

你可以发布你的代码,也可以通过datagridview头文本以优秀。我有同样的问题,不能弄清楚。 – 2011-09-13 19:35:50

回答

3

主循环前做一个循环,这样的事情:

for (int j = 0; j <= this.dataGridView1.ColumnCount - 1; j++) 
    { 
     string colName = dataGridView1.Columns[j].HeaderText; 
    } 

,并设置标题,Excel工作表行(0)或(1),第j列到COLNAME的价值。

相关问题