C# Winform實(shí)現(xiàn)導(dǎo)入和導(dǎo)出Excel文件
本文實(shí)例為大家分享了Winform實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel文件的具體代碼,供大家參考,具體內(nèi)容如下
/// <summary> /// 導(dǎo)出Excel文件 /// </summary> /// /// <param name="dataSet"></param> /// <param name="dataTable">數(shù)據(jù)集</param> /// <param name="isShowExcle">導(dǎo)出后是否打開文件</param> /// <returns></returns> public static bool DataTableToExcel(string filePath, System.Data.DataTable dataTable, bool isShowExcle) { //System.Data.DataTable dataTable = dataSet.Tables[0]; int rowNumber = dataTable.Rows.Count; int columnNumber = dataTable.Columns.Count; int colIndex = 0; if (rowNumber == 0) { return false; } Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet); Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1]; excel.Visible = isShowExcle; Microsoft.Office.Interop.Excel.Range range; foreach (DataColumn col in dataTable.Columns) { colIndex++; excel.Cells[1, colIndex] = col.ColumnName; } object[,] objData = new object[rowNumber, columnNumber]; for (int r = 0; r < rowNumber; r++) { for (int c = 0; c < columnNumber; c++) { objData[r, c] =dataTable.Rows[r][c]; } } range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); range.Value2 = objData; range.NumberFormatLocal = "@"; worksheet.SaveAs(filePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //excel.Quit(); return true; }
讀取Excel文件數(shù)據(jù)到DataTable
/// <summary> /// 讀取Excel文件數(shù)據(jù)到DataTable /// </summary> /// <param name="filePath">Excel文件路徑</param> private void Import_Excel(string filePath) { string sqlconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"; string sql = @"select * from [Sheet1$]"; try { using (OleDbConnection conn = new OleDbConnection(sqlconn)) { using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn)) { System.Data.DataTable dt = new System.Data.DataTable(); adapter.Fill(dt); this.LoadDataGridView(dt); } } } catch (Exception ex) { MessageBox.Show("打開文件出錯(cuò),錯(cuò)誤信息:" + ex.Message.ToString(), "提示"); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持我們。
上一篇:利用Aspose.Cells和Excel模板導(dǎo)出統(tǒng)計(jì)數(shù)據(jù)
欄 目:C#教程
下一篇:用C#做網(wǎng)絡(luò)爬蟲的步驟教學(xué)
本文標(biāo)題:C# Winform實(shí)現(xiàn)導(dǎo)入和導(dǎo)出Excel文件
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/4980.html
您可能感興趣的文章
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動新聞效果的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實(shí)現(xiàn)多線程下載文件的方法
- 01-10C#實(shí)現(xiàn)Winform中打開網(wǎng)頁頁面的方法
- 01-10C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉計(jì)算機(jī)或重啟計(jì)算機(jī)的方法
- 01-10C#自定義簽名章實(shí)現(xiàn)方法


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10delphi制作wav文件的方法