找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
伊莉需要你的贊助和支持搞笑、娛樂、精彩的影片讓你看安全提問(回答) 和 永久尊貴會員 事宜
無碼流出fc2mgoffice流出
euro二階堂麗水晶物語sone 162齋藤waaa 169292my 71

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]怪人的沙拉碗03-

捷運淡水線上 老人自

✡ 完美世界・155・20

[繁中]霹靂天機貳 仙

(4月新番)[簡]怪異與

✡ 斗羅大陸 2 絕世唐
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 45432|回復: 37
打印上一主題下一主題

[討論]請問C#如何讀EXCEL資料與寫入EXCEL 關閉[複製鏈接]

帖子
64
積分
3 點
潛水值
5235 米
跳轉到指定樓層
樓主
發表於 2011-3-1 12:04 AM|只看該作者|倒序瀏覽
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
我是使用Microsoft Visual C# 2008

以前老師在教的時候是 檔案→新增專案→Windows Form 應用程式

然後學一些程式  但從沒與Excel 試算表 做結合

請問有大大會嗎

因為我想學看看這方面   應該會蠻有用處
分享分享0收藏收藏1支持支持0
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

  專 家(12000/24000)

落葉知秋

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
1600
積分
23884 點
潛水值
54991 米
頭香
發表於 2011-3-1 07:53 AM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
我想到的有兩種方法:
1. 如果你把 Excel 當資料庫的話,可以使用 ADO.NET 的技術,用 OleDB 來做。
2. 如果你把 Excel 當檔案,則可以用 Microsoft.Office.Interop.Excel 來做。
新手就更該多用「心」動「手」找答案;
經驗是累積來的,答案則是 Google 來的。

使用道具檢舉

帖子
64
積分
3 點
潛水值
5235 米
3
發表於 2011-3-1 04:17 PM|只看該作者
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
arthurliuliu



恩恩  我是要第二種方式  因為第一種沒學過   但就是不太懂怎麼打

使用道具檢舉

帖子
0
積分
0 點
潛水值
130 米
4
發表於 2011-3-2 10:58 AM|只看該作者
本帖最後由 arthurliuliu 於 2011-3-2 11:49 AM 編輯
  1. //開啟一個新的應用程式
  2. myExcel = new Microsoft.Office.Interop.Excel.Application();
  3. //快樂的使用Excel
  4. //加入新的活頁簿
  5. myExcel.Workbooks.Add(true);
  6. //停用警告訊息
  7. myExcel.DisplayAlerts = false;
  8. //讓Excel文件可見
  9. myExcel.Visible = true;
  10. //引用第一個活頁簿
  11. myBook = myExcel.Workbooks[1];
  12. //設定活頁簿焦點
  13. myBook.Activate();
  14. //引用第一個工作表
  15. mySheet = (_Worksheet)myBook.Worksheets[1];
  16. //命名工作表的名稱為 "Cells"
  17. mySheet.Name = "Cells";
  18. //設工作表焦點
  19. mySheet.Activate();
  20. //用offset寫入陣列資料
  21. myRange = mySheet.get_Range("A2", Type.Missing);
  22. myRange.get_Offset(i, j).Select();
  23. myRange.Value2 = "'" + myData[i, j];
  24. //用Cells寫入陣列資料
  25. myRange.get_Range(myExcel.Cells[2 + i, 1 + j], myExcel.Cells[2 + i, 1 + j]).Select();
  26. myExcel.Cells[2 + i, 1 + j] = "'" + myData[i, j];
  27. //加入新的工作表在第1張工作表之後
  28. myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);
  29. //引用第2個工作表
  30. mySheet = (_Worksheet)myBook.Worksheets[2];
  31. //命名工作表的名稱為 "Array"
  32. mySheet.Name = "Array";//加入新的工作表在第1張工作表之後
  33. myBook.Sheets.Add(Type.Missing, myBook.Worksheets[1], 1, Type.Missing);
  34. //引用第2個工作表
  35. mySheet = (_Worksheet)myBook.Worksheets[2];
  36. //命名工作表的名稱為 "Array"
  37. mySheet.Name = "Array";
  38. //寫入報表名稱
  39. myExcel.Cells[1, 4] = "普通報表";
  40. //設定範圍
  41. myRange=(Range)mySheet.get_Range(myExcel.Cells[2, 1], myExcel.Cells[UpBound1 + 1, UpBound2 + 1]);
  42. myRange.Select();
  43. //用陣列一次寫入資料
  44. myRange.Value2 = "'" + myData;
  45. //設定儲存路徑
  46. string PathFile = Directory.GetCurrentDirectory() + @"\button4.xls";
  47. //另存活頁簿
  48. myBook.SaveAs(PathFile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
  49.                             , XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, ype.Missing,Type.Missing,Type.Missing);
  50. //關閉活頁簿
  51. myBook.Close(false, Type.Missing, Type.Missing);
  52. //關閉Excel
  53. myExcel.Quit();
  54. //釋放Excel資源
  55. System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
  56. myBook = null;
  57. mySheet = null;
  58. myRange = null;
  59. myExcel = null;
  60. GC.Collect();
複製代碼
code未包, 板主代為編輯.
...
瀏覽完整內容,請先 註冊登入會員
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

rd9621 該用戶已被刪除
5
發表於 2011-3-24 11:20 PM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
最近也正在寫關於c# 讀取excel檔的程式,
樓上大大的方法不錯喔,寫的很詳細,
偷偷拿來試試看.感恩啦.




所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
320
積分
197 點
潛水值
27857 米
6
發表於 2011-4-2 01:45 AM|只看該作者
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

ydchiang 該用戶已被刪除
7
發表於 2011-4-4 05:12 PM|只看該作者
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。
試試看NPOI
資源很多又不用錢
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

Rank: 1

帖子
13
積分
127 點
潛水值
28952 米
8
發表於 2011-4-9 06:56 PM|只看該作者
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
ydchiang


我也推薦NPOI  真的很好用!!
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

feng5566 該用戶已被刪除
9
發表於 2011-4-13 08:53 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
可以請問NPOI是什麼嗎?
是教學網站嗎?
在網頁搜尋可找到嗎?
還是說它是一種軟體
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

  專 家(12000/24000)

落葉知秋

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

帖子
1600
積分
23884 點
潛水值
54991 米
10
發表於 2011-4-13 09:42 AM|只看該作者
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
feng5566


please google "npoi" by yourself,
連查都不查, 還問在網頁搜尋可找到嗎?
難道需要網友幫你 google 之後, 回答你 "可找到" 嗎?




若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

dfw 該用戶已被刪除
11
發表於 2011-4-13 10:00 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

Rank: 2Rank: 2

帖子
254
積分
271 點
潛水值
20218 米
12
發表於 2011-9-17 09:51 AM|只看該作者
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
謝謝回覆的大大
又讓我學到一課
目前還在學習入門而已
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

goblow 該用戶已被刪除
13
發表於 2011-10-7 10:35 AM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
本帖最後由 arthurliuliu 於 2011-10-7 10:38 AM 編輯

回復
下載: 訪客無法瀏覽下載點,請先 註冊登入會員
arthurliuliu


還有第三個放法就是使用第三方DLL
http ://sourceforge.net/projects/koogra/

這是一個很好用而且是免費DLL
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

Rank: 1

帖子
68
積分
196 點
潛水值
21558 米
14
發表於 2011-10-7 02:04 PM|只看該作者
其實 NPOI 也是一種第三方的 dll 呦!而且免費,網路上能找到的資源也不少!
常見的大概有 myXLS, Koogra 及 NPOI 這些 library 等
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

帖子
218
積分
2 點
潛水值
4864 米
15
發表於 2011-10-12 03:47 PM|只看該作者
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
本帖最後由 arthurliuliu 於 2011-10-13 07:58 AM 編輯
  1. using System.Data.OleDb;

  2. //讀取 C:\qq.xls 檔案內資料至 MessageBox
  3. string path = "c:\\QQ.xls";
  4. string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + path + ";Extended Properties='Excel 8.0;HDR=NO'";
  5. OleDbConnection objConn = new OleDbConnection(strCon);
  6. string strCom = " SELECT * FROM [Sheet1$] ";
  7. objConn.Open();

  8. OleDbDataAdapter objCmd = new OleDbDataAdapter(strCom, objConn);
  9. DataSet objDS = new DataSet();
  10. objCmd.Fill(objDS);
  11. objConn.Close();

  12. for (int i = 0; i < objDS.Tables[0].Rows.Count; i++)
  13. {
  14. //listBox1.Items.Add(objDS.Tables[0].Rows[i][1].ToString());
  15. listBox1.Items.Add(objDS.Tables[0].Rows[i][0] + "," + objDS.Tables[0].Rows[i][1].ToString() + "," + objDS.Tables[0].Rows[i][2].ToString());
  16. }

  17. //********************
  18. listBox1.Items.Clear();
  19. String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\qq.xls;Extended Properties=\"Excel 8.0;HDR=NO\"";
  20. //HDR 是用來判斷 Excel 第一欄標題
  21. OleDbConnection cn = new OleDbConnection();
  22. cn.ConnectionString = sConnectionString;
  23. cn.Open();

  24. string sSQL = "SELECT * FROM [Sheet1$]";
  25. OleDbCommand cmd = cn.CreateCommand();
  26. cmd.CommandText = sSQL;
  27. OleDbDataReader DR = cmd.ExecuteReader();
  28. while (DR.Read())
  29. {
  30. listBox1.Items.Add(DR[0] + "," + DR[1] + "," + DR[2]);
  31. }

  32. cn.Close();
複製代碼
...
瀏覽完整內容,請先 註冊登入會員





如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部