C#中Execl一般檔案的匯入與匯出

來源:互聯網
上載者:User

寫入excel:

 

System.Windows.Forms.SaveFileDialog sd=new System.Windows.Forms.SaveFileDialog();sd.Filter="Excel 2003 文檔|*.xls";if(sd.ShowDialog()==System.Windows.Forms.DialogResult.OK){    FileStream fs=new FileStream(sd.FileName,FileMode.Create,FileAccess.Write);    StreamWriter sw=new StreamWriter(fs,Encoding.Default);    string line="";    //寫入欄位標題    for (int i = 0; i < datamain.Columns.Count; i++)    {        line += datamain.Columns[i].Header.ToString() + "\t";    }    sw.WriteLine(line);    for (int j = 0; j < datamain.Items.Count; j++)    {        Statresult dt = datamain.Items[j] as Statresult;        line = dt.Client + "\t" + dt.Total + "\t" + dt.Receive + "\t" + dt.Rates + "\t" + dt.Inspection + "\t" + dt.Bugnum + "\t" + dt.Qualified + "\t";        sw.WriteLine(line);    }    //關閉流    sw.Close();    fs.Close();    MessageBox.Show("資料已經成功匯出!","注意",MessageBoxButton.OK,MessageBoxImage.Information);}

讀取excel:

//以oledb方式串連excel檔案並將混合型作為文本型讀取strConn = "Provider=Microsoft.Jet.  OLEDB.4.0;Data Source=D:\\Test.xls;Extended   Properties='Excel8.0;HDR=Yes;IMEX=1'";  OleDbConnection conn = new OleDbConnection(strCon);//將工作表作為資料表string sql = "SELECT * FROM [Sheet1$]";OleDbDataAdapter adp = new OleDbDataAdapter(sql,conn);DataSet myDataSet = new DataSet();adp.Fill(myDataSet,"[Sheet1$]");

 

其中讀取主要注意的是Extended Properties='Excel8.0;HDR=Yes;IMEX=1',Excel8.0代表的是用什麼版本的Execl程式讀取檔案,HDR=Yes代表第一行是作為表格的欄位,IMEX=1代表第一行是表格欄位。以上這些參數必須

要用單引號包括起來,不然會報錯的。"SELECT * FROM [Sheet1$]"中的[Sheet1$]代表的是Execl檔案中的活頁簿,假設你的活頁簿叫“asd”,那麼查詢的表名就是"SELECT * FROM [asd$]";

以上幾點,是應用過程運到的問題,比較容易忽略,導致錯誤。

以上主要內容是參考http://www.cnblogs.com/861580030/archive/2011/01/14/1935246.html,自己應用在加上自己的理解。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.