1. 程式人生 > >C#Winfrom Listview數據導入Excel

C#Winfrom Listview數據導入Excel

text XP class owin led RM img exe 需要

需引用技術分享圖片

 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.listView1, 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"); } }

C#Winfrom Listview數據導入Excel