C\#ListView 의 데 이 터 를 Excel 로 내 보 내 는 인 스 턴 스 방법

3333 단어 ListViewExcel
추가 방법:항목 선택->인용->오른쪽 클릭"인용 추가"->COM 을 선택 하여 위의 구성 요 소 를 찾 습 니 다->"확인"을 누 르 십시오.구현 코드 는 다음 과 같 습 니 다:

    private void _Click(object sender, EventArgs e) 
    {     
    ExportToExecl(); 
    }  
    /// <summary>   
    ///
    /// </summary>
    public void ExportToExecl()
    {     
    System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog();  
    sfd.DefaultExt = "xls";   
    sfd.Filter = "Excel (*.xls)|*.xls";     
    if (sfd.ShowDialog() == DialogResult.OK)  
    {          
    DoExport(this.lstPostion, sfd.FileName); 
    }   
    }   
    /// <summary>
    ///
    /// </summary>  
    /// <param name="listView">ListView</param>  
    /// <param name="strFileName"> </param>  
    private void DoExport(ListView listView, string strFileName)   
    {      
    int rowNum = listView.Items.Count;  
    int columnNum = listView.Items[0].SubItems.Count;
    int rowIndex = 1;      
    int columnIndex = 0;      
    if (rowNum == 0 || string.IsNullOrEmpty(strFileName))  
    {           
    return;      
    }      
    if (rowNum > 0)   
    {         
    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); 
    if (xlApp == null)       
    {            
    MessageBox.Show(" excel , excel"); 
    return;         
    }         
    xlApp.DefaultFilePath = "";   
    xlApp.DisplayAlerts = true;       
    xlApp.SheetsInNewWorkbook = 1;     
    Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);  
    // ListView Excel            
    foreach (ColumnHeader dc in listView.Columns)  
    {            
    columnIndex++;     
    xlApp.Cells[rowIndex, columnIndex] = dc.Text;  
    }           
    // ListView Excel        
    for (int i = 0; i < rowNum; i++)     
    {             
    rowIndex++;     
    columnIndex = 0;   
    for (int j = 0; j < columnNum; j++)   
    {                   
    columnIndex++;             
    // “\t” 。 。    
    xlApp.Cells[rowIndex, columnIndex] = Convert.ToString(listView.Items[i].SubItems[j].Text) + "\t";     
    }        
    }       
    // strFileName,Excel.XlFileFormat.xlExcel9795 Excel 95、97 2003、2007 : HRESULT:0x800A03EC。 strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal。          
    xlBook.SaveAs(strFileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);  
    xlApp = null;          
    xlBook = null;       
    MessageBox.Show("OK");      
    }  
    }

좋은 웹페이지 즐겨찾기