讀取、寫入excel數據


在實際項目中,不可避免的會操作excel表格。一直以來都是讀取excel表格,可今天為了寫入excel表格,可是煞費苦心,終於完成,記錄下來以便后續使用。

 

1、讀取excel表格的數據

讀取excel數據,然后導入到數據庫中,根據常識,只要是能得到一個dataset,那所有的問題便迎刃而解了。下面將讀取excel數據得到dataset:

public DataSet ExecleDs(string filenameurl)
        {
            string strConn = "Provider=Microsoft.ACE.OleDb.12.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            DataSet ds = new DataSet();
            string strSql = string.Format("SELECT * FROM [{0}$]", "Sheet1");
            OleDbDataAdapter odda = new OleDbDataAdapter(strSql, conn);
            odda.Fill(ds, "hou");
            return ds;
        }

 

2、寫入數據到excel表格

首先加入兩個引用:

using System.Reflection; using Microsoft.Office.Interop.Excel;

 

1)初始化:

object missing = Missing .Value ;
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//實例化excel對象
 Microsoft.Office.Interop.Excel.Workbook rsBook = excel.Workbooks.Open(fullFileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);//打開目標文件
Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)rsBook.Sheets.get_Item(1);//設置第一個工作薄
                excelSheet.Activate();//激活當前工作簿

 

 2)寫入數據:

for (int i = 1; i < 5; i++)
                {
                    excelSheet.Cells[i, 1] = i;
                    excelSheet.Cells[i, 2] = i + 5;
                    excelSheet.Cells[i, 3] = i + 10;
                }

注:excel表格的第一行、第一列都是以1開始的。

 

3)保存excel文件、設置Application的屬性,並回收資源

rsBook.Save();

                excel.DisplayAlerts = false;
                excel.Visible = true;

                excelSheet = null;
                rsBook = null;
                excel = null;

                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
                GC.WaitForPendingFinalizers();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM