1. 程式人生 > >C#中將ListView資料匯出為excel(轉載)

C#中將ListView資料匯出為excel(轉載)

 

 

首先引用excel庫,下面我把程式碼貼出來。        
         /// <summary>
        /// 將ListView的內容寫入Excel表中
        /// </summary>
        /// <param name="LView">ListView控制元件</param>
        /// <param name="strFilter">內容的標題</param>
        public void UWriteListViewToExcel(ListView LView, string strTitle)
        {
            try
            {
                Microsoft.Office.Interop.Excel.Application ExcelApp =new Microsoft.Office.Interop.Excel.Application();
                object m_objOpt = System.Reflection.Missing.Value;                
                Microsoft.Office.Interop.Excel.Workbooks ExcelBooks = (Microsoft.Office.Interop.Excel.Workbooks)ExcelApp.Workbooks;
                Microsoft.Office.Interop.Excel._Workbook ExcelBook = (Microsoft.Office.Interop.Excel._Workbook)(ExcelBooks.Add(m_objOpt));
                Microsoft.Office.Interop.Excel._Worksheet ExcelSheet = (Microsoft.Office.Interop.Excel._Worksheet)ExcelBook.ActiveSheet;
                
                //設定標題
                ExcelApp.Caption = strTitle;
                ExcelSheet.Cells[1, 1] = strTitle;

                //寫入列名
                for (int i = 1; i <= LView.Columns.Count; i++)

                {
                    ExcelSheet.Cells[2, i] = LView.Columns[i-1].Text;
                }

                //寫入內容
                for (int i = 3; i < LView.Items.Count + 3; i++)
                {
                    ExcelSheet.Cells[i, 1] = LView.Items[i - 3].Text;
                    for (int j = 2; j <= LView.Columns.Count; j++)
                    {
                        ExcelSheet.Cells[i, j] = LView.Items[i-3].SubItems[j-1].Text;
                    }
                }

                //顯示Excel
                ExcelApp.Visible = true;            
            }
            catch (SystemException e)
            {
                MessageBox.Show(e.ToString());
            }
        }