国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

c#讀取excel

2019-11-17 02:20:06
字體:
來源:轉載
供稿:網友

c#讀取Excel

PRovider根據實際EXCEL的版本來設置,推薦使用ACE接口來讀取。需要access database Engine。

注意修改注冊表以下兩項的值為0。否則導入EXCEL當單元格內字符長度超過255會發生截斷現象!??!

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office/12.0/AccessConnectivity Engine/Engines/Excel/TypeGuessRows

64位系統下

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Office/12.0/Access Connectivity Engine/Engines/Excel/ TypeGuessRows

看到論壇里面不斷有人提問關于讀取excel和導入excel的相關問題。閑暇時間將我所知道的對excel的操作加以總結,現在共享大家,希望給大家能夠給大家帶了一定的幫助。另外我們還要注意一些簡單的問題1.excel文件只能存儲65535行數據,如果你的數據大于65535行,那么就需要將excel分割存放了。2.關于亂碼,這主要是字符設置問題。

1.加載Excel(讀取excel內容)返回值是一個DataSet

[csharp]view plaincopy
  1. //加載Excel
  2. publicstaticDataSetLoadDataFromExcel(stringfilePath)
  3. {
  4. try
  5. {
  6. stringstrConn;
  7. strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";ExtendedProperties='Excel8.0;HDR=False;IMEX=1'";
  8. OleDbConnectionOleConn=newOleDbConnection(strConn);
  9. OleConn.Open();
  10. Stringsql="SELECT*FROM[Sheet1$]";//可是更改Sheet名稱,比如sheet2,等等
  11. OleDbDataAdapterOleDaExcel=newOleDbDataAdapter(sql,OleConn);
  12. DataSetOleDsExcle=newDataSet();
  13. OleDaExcel.Fill(OleDsExcle,"Sheet1");
  14. OleConn.Close();
  15. returnOleDsExcle;
  16. }
  17. catch(Exceptionerr)
  18. {
  19. MessageBox.Show("數據綁定Excel失敗!失敗原因:"+err.Message,"提示信息",
  20. MessageBoxButtons.OK,MessageBoxIcon.Information);
  21. returnnull;
  22. }
  23. }

2.寫入Excel內容,參數:excelTable是要導入excel的一個table表

[csharp]view plaincopy
  1. publicstaticboolSaveDataTableToExcel(System.Data.DataTableexcelTable,stringfilePath)
  2. {
  3. Microsoft.Office.Interop.Excel.applicationapp=
  4. newMicrosoft.Office.Interop.Excel.ApplicationClass();
  5. try
  6. {
  7. app.Visible=false;
  8. WorkbookwBook=app.Workbooks.Add(true);
  9. WorksheetwSheet=wBook.Worksheets[1]asWorksheet;
  10. if(excelTable.Rows.Count>0)
  11. {
  12. introw=0;
  13. row=excelTable.Rows.Count;
  14. intcol=excelTable.Columns.Count;
  15. for(inti=0;i<row;i++)
  16. {
  17. for(intj=0;j<col;j++)
  18. {
  19. stringstr=excelTable.Rows[i][j].ToString();
  20. wSheet.Cells[i+2,j+1]=str;
  21. }
  22. }
  23. }
  24. intsize=excelTable.Columns.Count;
  25. for(inti=0;i<size;i++)
  26. {
  27. wSheet.Cells[1,1+i]=excelTable.Columns[i].ColumnName;
  28. }
  29. //設置禁止彈出保存和覆蓋的詢問提示框
  30. app.DisplayAlerts=false;
  31. app.AlertBeforeOverwriting=false;
  32. //保存工作簿
  33. wBook.Save();
  34. //保存excel文件
  35. app.Save(filePath);
  36. app.SaveWorkspace(filePath);
  37. app.Quit();
  38. app=null;
  39. returntrue;
  40. }
  41. catch(Exceptionerr)
  42. {
  43. MessageBox.Show("導出Excel出錯!錯誤原因:"+err.Message,"提示信息",
  44. MessageBoxButtons.OK,MessageBoxIcon.Information);
  45. returnfalse;
  46. }
  47. finally
  48. {
  49. }
  50. }

轉載的朋友請一定注明出處謝謝!http://blog.csdn.net/gisfarmer/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德安县| 吉安县| 溧阳市| 建始县| 卢湾区| 苏尼特右旗| 乐亭县| 南京市| 阜南县| 定日县| 巴中市| 孝感市| 张家口市| 昌宁县| 民勤县| 宁国市| 朝阳区| 会泽县| 邵东县| 白沙| 辽阳县| 高要市| 乐平市| 大田县| 昌都县| 大余县| 象山县| 定远县| 铜梁县| 阿拉尔市| 孟州市| 苏尼特右旗| 固始县| 景泰县| 瑞昌市| 棋牌| 营口市| 永丰县| 平山县| 什邡市| 梁河县|